It is the same for everyone, everyone thinks they look better in the mirror than in photos. The reason is that our faces are not perfectly symmetrical. So, for example, if your nose is 2mm to the right of where it should be, it looks natural to you in the mirror because you've gotten used to it. But when you take a photo, you see it 4mm to the left of what your expected position is. So you think you look hideous, but to others your nose is just off by 2mm so you look fine to them.
This happens all the time to me, I have a weird jaw offset to the right. In the mirror it looks fine but in a photo it looks really really weird.