Actual voice vs voice recorded?

I have a very weird problem. My actual voice sound ok to me, in fact when i go to karaoke and talk using the microphone, it sounded ok too. But when i record a video of myself, or a voice record of myself, my voice became very weird and sounded disgusting. What's wrong with this? Is it because of the recording devices i used or what? I used iphone video recorder, even a dslr recorder (but without the mic) and my voice is still weird. Should i invest in a add-on microphone like those singers used in the recording room to see if it's the problem of my voice or what? Can anyone advice me what is the problem?

Yes, a mic would help a lot. Despite how affordable the MXL 990 is, with a pop screen it actually sounds quite nice. It happens with many "professional" singers also- sounding great live, then sounding odd in a small room with no audience to bounce from. Just my thoery, the different mentality and context brings forth a different voice from within. But it could just be the mics and/or recording program/playback settings (eq especially)