TeachMe,
I may be wrong, but I thing often the main reason is the amount of asbestos in those old ships and subway cars.
That makes dismantling them such a hazardous, hence expensive, undertaking, that it's no longer economical.
Underwater the asbestos in its various forms becomes just a wet cakey mess that does not really disperse in the environment.
CJ
Edit:
Donkey497 got ahead of me, and also gives some perfectly valid reasons, IMHO.
Asbestos is an issue though: you should read up on the saga of the French aircraft carrier Clémenceau....