Did you put the contents in while you are in Source View, or in the WYSIWYG view? Must be in Source View, if you are going to have any chance of them being kept, and even then it is kind of a "crap shoot".
Basically, we do not really have much control over how the 3rd party HTML editor (CKEditor) works other than the configuration options that they provide us. There are *lots* of configuration options for the editor. However, they never seem to have the option I really need...
In this case, they have an option to shut off their "smart" content filter called ACF (Advanced Content Filter)... but if I do that, it will affect a lot of things for every user that I really do not want change.
Yours is likely a case of ACF stripping out HTML comments.
You have to realize that the editor is essentially a monster HTML parser built entirely in JavaScript. That is why it is so huge and takes so long to load and do things.
It almost *always* reformats whatever content is entered into it to what it feels is the best representation. It tries to fix and prevent errors, and do a lot of "dummy proofing" so that the user does not need to be concerned with the underlying HTML.
The catch is that the "dummy proofing" *frequently* gets in the way for users that very proficient with HTML.
When I was developing the name tag templates, for example, I created them in an HTML authoring tool and copy/pasted them into CKEditor to make sure it would keep them intact when someone selected them. It did not... it took me a lot of retries to get templates that the editor would not mess with and screw up. Major pain!
Bottom line: I will see what I can do with the editor configuration options, but no guarantees. Do not count on the editor keeping your HTML content, as is, in Source View. *Always* keep a backup copy of the original HTML when copy/pasting into the Source View.