Hot girls don't know they're hot sometimes. Some of my uber hot friends deny the fact that they are hot, and thus, they do not have the expected self-esteem/ego/confidence of someone who is hot.
Therefore they settle for mediocre guys that you describe in your post.