The difference is that hot people look like they are very sexual. A lot of people consider the guy from Twilight hot because he always has a "smoldering" look in his eyes, like he is watching a woman do a strip show for him or something.
You are cute. You look a little sad though. Almost hunched over like you really lack confidence. If you could look less like you are hiding yourself (stand taller maybe, look directly at the camera/people), I think you would look way cuter, maybe even hot.
The other thing that would help you would be a new hair cut. Either grow it longer or get the sides cut shorter. I would get a hairdresser (not a barber) to cut it.
My personal preference would be to lose the studs, but some girls might like them.