For similar reasons, every programmer thinks he is the top 1% - including me ;)
I sure don't. Personally, my outlook swings between "I'm so awesome, look at what I made" to "I am an idiot - why am I in this field?" The latter comes when I'm 2 hours into a debugging session and still stumped, or when I'm looking at code written by somebody famous, or when I get an explanation of some concept or piece of code and I still don't understand. (Rebuttals: debugging is actually hard sometimes, and that…
Turns out that "dedicated" and "hardworking" trump "smart" nine times out of ten. So now I'm trying for that. It's taking longer.