They are. The debuggers and finishers are the ones making $100k for day-to-day Java maintenance at the big banks and insurers and retailers and such. For every starter who's succeeded in their own business or risen to a $200k director job in CorpWorld, there's four other starters who are subsisting on someone else's capital and haven't launched anything for real income yet.
That said, pay is based on perception as much as results. If a starter can sell someone on his vision of a $50M revenue payment processing platform, there's a good chance he can convince someone to pay him a small fraction of that like $500k, at least until the project dies off. Finishers can't do that while shooting one bug or fixing one feature at a time.
I think most programmers can earn more by doing 'finisher work' than doing 'starter work'. I am a starter by heart, but I earn more money by maintaining a big Java system than I would have working for example at a small startup. Of course this is not true for prestigueous/famous programmers. They get the 'starter' jobs even in high-paying positions.
If finishers are less common than starters, shouldn't they be payed more? Are they being payed more? Is it a flaw in the market?