Business Analysts and Project Managers have more access to managers up the chain. That's the main reason why they can get paid more. Not all do. There are also organizations that pay really poorly for business analysts but they risk a very high failure rate due to the most expensive form of bug - a requirements bug.
Programmers who demonstrate the capacity to effectively gather business requirements and or manage a project get paid more than all three of the choices you've listed. It's important to remember that technical services are in service of business needs in most organizations and people tend to trust and value people that they feel understand their needs.