Hotdog is rarely correct unless it is a proper name, such as a screen name or a pet's name.
Hot-dog (with the hyphen) is correct as a slang term for someone who is trying to attract attention by doing something outrageous or risky. For instance, some person doing stunts on a bicycle could be said to be a hot-dog, or could be said to be "hot-dogging."
"Hot dog" is that sandwich made with a frankfurter sausage and a long, narrow split bun.
Hi,
If you are using it to refer to a frankfurter or to express satisfaction with something, then it's two words. If you're using it to describe someone, then it's one word.