Why is WordPress changing my HTML code

Couple of things:

  1. You’re missing the semicolon after your unicode character, should be ”
  2. The quote element gets stripped by the visual editor b/c the version of TinyMCE that WordPress implements is only set to recognize a certain subset of html elements and it strips out the rest.

Possible solutions:

  1. Disable the visual editor in your user profile: Users > Your Profile > Disable the visual editor when writing.
  2. If you still need your visual editor then apply your styling to one of the allowed HTML elements, like <p class="cite">.
  3. Use a background-image or sprite to place the quote marks in the background of an allowed element.
  4. Use a plugin (http://wordpress.org/extend/plugins/tinymce-valid-elements/) to add the quote element as a valid element in TinyMCE.