This assumption that you either excel at something or you should just do something else is as dumb as saying that you either become a billionaire or you might as well live on the streets. Just because marketing the top 1% is easier doesn't mean the rest is crap. Just because you won't be the next Bill Gates doesn't mean you shouldn't start (and enjoy building) your own software company. Even the 10k hours theory does…
That said, there are times when I've given up and felt like it was the right thing to do. I went to a pretty good school for Physics because I was sure that was what I wanted to do with my life. After 2-3 years, through no lack of effort on my part, it was just super clear I wasn't going to make the cut--I just didn't have it. I worked hard and got okay grades, but as the material got harder, it was just plain to see who was separating from the pack and those kids just had something I never would, and hard work wasn't going to do it. If I didn't put in 10k hours, I came damned close.
I dropped Physics as a major, switched to Math, dropped the idea of academia as a career and have never looked back. An honest look at one's talents relative to peers and competitors is still important.