My experience has been that you can get more work by leaflet over a period of time, as people tend to phone later too, but the work is more spread out. Whereas with canvasing the work is more compact and you can target specific days that you are around.
I have found when time allows that a leaflet drop a few days beforehand, then a canvass over the same area yields more results as people have had a few days to think about it but perhaps for one reason or another haven't phoned. I always find Sunday is a good time to leaflet drop too as the flyer doesn't get mixed up with the post that people pick up after work. By delivering on a Sunday, the customer is picking your leaflet alone, with no other junk or bills.
They both have their advantages and disadvantages in my opinion, I tend to do both.