Of course there's a lot of people who are highly paid. Chances are that those people are highly skilled, or at least have highly specialized skills as well.
Put another way: if you get a degree in computer science, or you are self-taught using common resources, you probably have a skill set that reflects that reflects the bare minimum that a company will accept and you have a skill set that the market is flooded with. Either way, you are unlikely to receive a good salary and you are probably going to face a lot of competition to get a job.
On the other hand, those who specialize may enter disciplines with less demand but they are also entering disciplines with far less competition for jobs. If that discipline offers a good return for the investment for a business, those people will frequently garner better salaries. Likewise, if you have that computer science degree but consistently put in the effort to perform beyond expectations chances are that you'll have more opportunities and reap better rewards.
I'm not going to say that it'll work for everyone. Motivation in the workplace and soft skills count too. Too many people hold themselves back due to psychological rather than intellectual reasons. On the other hand, if you prepare yourself to be a low paid cog you will almost certainly end up being a low paid cog.