All of the drugs approved by the FDA are effective for the particular disease (aka "indication") that drug is approved for. That's what clinical trials are all about - first the drug has to be shown to be safe, then it has to be shown to be effective in treating the particular disease.
The trouble with cancer is that there are so many different types, and treatment for one type of cancer might not work for another type of cancer. Take breast cancer, for instance. Some breast cancers respond very well to Herceptin, which is an antibody against Her-2. But some breast cancers don't involve Her-2 and thus Herceptin isn't effective.
As for the costs involved, clinical trials cost a freaking fortune - millions and millions of dollars, depending on the disease being treated. And those costs are generally borne by the company developing the drug. Huge pharma companies can absorb the costs of clinical trials, but for smaller companies its a make-or-break proposition. For the smaller companies, they usually try to partner with a larger company to help absorb the cost of development (and share in any profits if its a winner).
Thing is, in order to partner a drug, often the small company has to take the drug through at least the early stages of clinical trials before they can get a larger company interested in partnering. So if a drug fails in the early stage of a trial, in many instances that's enough to kill a small company, even if that company might have other promising drugs in its pipeline. That's why if you follow biotech news, every month you see headlines along the lines of "such and such-drug fails to meet endpoint, company x lays of 80% of its workforce". It's a huge gamble for a company to try to take a drug to market.
And that's a sad fact about the economics of drug development. Many companies (at least smaller companies) cannot risk the uncertainty of developing drugs for diseases in which the clinical trials are extremely costly - say, if they require very long study times and/or very large numbers of patients. Take MS for instance - the trials for MS drugs are extremely lengthy and involve hundreds of patients in Phase III so companies without deep pockets are hesitant to develop MS drugs. Broadly speaking, cancer is somewhat "easier" to test, so more companies tend to go after cancer drugs.
Diseases that are difficult to treat, have very 'fuzzy' endpoints, or are not that widespread (smaller patient population -> smaller return on investment) tend to get the short shrift in drug development.
I'm of course generalizing out the wazoo here but hopefully that gives you the drift.
2009 Lynskey R230 Houseblend - Brooks Team Pro
2007 Rivendell Bleriot - Rivet Pearl