In my class, I was playing around and found out that CSS works with made-up elements.
Example:
Why doesn't he want you to use them? They are not common nor part of the HTML5 standard. Technically, they are not allowed. They are a hack.
I like them myself, though. You may be interested in XHTML5. It allows you to define your own tags and use them as part of the standard.
Also, as others have pointed out, they are invalid and thus not portable.
Why didn't he know that they exist? I don't know, except that they are not common. Possibly he was just not aware that you could.