Why are vaccines for polio taken orally while vaccines for TB need to be injected?
There are different polio vaccines - one live (attenuated) vaccine which is given orally and one inactivated, which is injected. The main reason for using the live orally vaccine is that it provides excellent immunity (better than the inactivated) since it uses the natural infection route (oral-faecal) in the body where it enters through cells in the intestine. Besides that, it is also much less expensive than the inactivated form, which is a big thing when doing mass immunisations in developing countries.

The live vaccine, however, may mutate back into a more infectious form as you shed live (attenuated) viruses after the immunisation, so these are not used anymore. Now we are very close to the eradication of the poliovirus. The risk of getting new infections is viewed as being too high these days. See this paper for more information: "Vaccine-derived polioviruses and the endgame strategy for global polio eradication."