Only in Canada do citizens expect the highest level of government to provide the most local service to them. It makes absolutely no sense as EnviroTO pointed out.
After all, why should voters in Regina pay for subways in Toronto? And if we expect the Feds to pay, should we not then give them some say in the projects? Likewise, if we expect the province to pitch in for a strictly 416 project like the Sheppard subway, should they not get some say in dictating things like density along the route (via the OMB). We can't have it both ways, expecting other levels of government to pay but not giving them a voice in the projects.
Each level of government should be taking care of its responsibilities. If they did, much more would get done, we would not have lavish election promises, and the results would be much better.
The feds should be sticking to interprovincial trasportation and addressing things like aviation, national railways and an interprovincial road network. If they did this, the Trans Canada might evolve to more of a network, we might see high speed rail, and airport rents would probably decline. And the province should be addressing regional transit while leaving local transit to municipalities. This might mean viewing certain assets differently. For example, the TTC subways have important regional impacts. Perhaps they should be combined with GO Transit to form a regional rail network, leaving the bus/LRT services for local authoriites to pick up.
IMO, Toronto would be in much better shape if the McGuinty had fulfilled his promise of reversing the downloading of social programs. The cities would have the cash to balance their books and to build infrastructure. And then residents would have a direct target to blame if infrastructure didnt get built.