Its mostly business
Newer medications often are more expensive and patented and are advertised as more effective by the companies that make them. As you might guess they aren't always the most effective for every one.
Older medications that have lost patent and/or generic are lower cost. They can be helpful regardless so it is not a great way to predict efficacy based on cost when it comes to medications.