I agree, although to be fair to the NDP, a lot of people d0 vote with the party or leader in mind and not the local candidate. Thus it's reasonable to have a by-election called. If the constituents still want that MP to represent them, they will elect him or her again.
As for being a waste of time, I don't think it would be all that much of a hassle. It doesn't happen all that often so as to be an inconvenience.