Recently the UK Army and the US Marines have proposed eliminating their tank force. I have read several articles, and watched experts discuss this topic, and none of them came up with the main reason I did. Heavy armor is vulnerable, expensive, and too slow for modern warfare.
Threats
Smart indirect weapons systems have grown rapidly in the last 10 years. These systems like smart artillery rounds that find and perform terminal guidance to kill tanks is just one of the new, and fairly inexpensive ways for modern militaries to destroy even the best main battle tanks. Not to mention inexpensive drones with missiles, smart land mines and man portable anti-tank missiles. These low cost systems are the most lethal threats that main battle tanks have ever faced.
Defenses
The reaction of most Armies has been to increase the armor on tanks, including exotic armor with depleted uranium, ceramics, and standoff armor plates. Those are not that effective against the latest warheads with multiple shaped charges or high-speed penetrators.
The most effective new ideas have been reactive armor and active defense systems. Those last two systems are not exclusive to main battle tanks and could be installed on light tanks and armored cars like the Striker and MRAP. The active defense systems that shoots projectiles at incoming missiles could even be installed on light trucks like the Humvee.
The new way
A Humvee with an active protection system and a TOW anti-tank missile system would have the firepower a little less than a tank, but be quick, light, and inexpensive. Now imagine a near future war where the US Marine Corps is engaged in an island-hopping campaign against an Asian adversary. Main battle tanks that make sense in a European or North African war would get bogged down in a small island. Plus moving them from island to island would take a lot more effort.
In the age of smart, light, and inexpensive weapons with incredible warheads, tanks are just a sitting target. The new way is to be light, agile, and cost effective.