so today I walked past a mirror, then stopped and thought "oh, I look cute today". I decided to take a picture because I haven't changed my profile pic in forever. I took a picture, then looked at it, and I looked awful. huh?
The bad news is: photographs are actually a more accurate representation than mirrors.
The good news is: photographs only capture you at an instant in time and in 2 dimensions. Posing can look awkward and staged, and candid shots often catch us in an awkward way. Lighting can also change the way a photo turns out. So a photograph isn't necessarily representative of how people see you in person.
Ive had this same problem before, I thought that in order to appreciate a person you have to see every part, when you take a picture your taking a 2 dimensional picture of a 3 dimensional object. Basically, no body looks better in a photo than they do in person.
Wheres the lighting coming from? The best lighting is two sources of light - one from either side, just in front of you - the more light coming at you than from behind you, the better the picture. What's the angle of the camera? Sliiiightly pointing down is better than slightly pointing up. Consider little things like that. Taking a good photograph is an art, its not just about looking good =]
I think action photos show more emotion, where as in a posed photograph you can focus on appearance far too much. Go for group photos when everyone is having a good time, because you will remember how you felt at the time and it will trigger an emotional response. That is much more attractive than a planned out shot. Don't be too critical of yourself :)