A minor correction: Leaving early shafts the 4 people left behind (and if it's a tank, that can be for 5 minutes or more... which is a large percentage of the time the whole run would normally take), and it also punishes the replacement player by not letting them have a chance at the exact boss they probably want to farm.
However, I think the real question here is:
"Does the deserter debuff do its job, and if not, how should it be changed to make sure that it
does?"
Given that Blizzard even added the debuff in the first place, arguments about whether or not Blizzard is ok with players quitting dungeon runs early are moot. However, at the moment there's a ton of things people can get on with while they're waiting for their debuff to run down, so not being able to queue isn't much of a deterrent.
For that reason, I don't think the debuff isn't doing its job. Especially when I first hit 90, about 20% of my heroic runs had someone leaving early, usually the tank, and it was incredibly annoying. In a few cases, the replacement left immediately once they released we'd already killed the boss they were after so we had to wait even longer.
IMO, Blizzard should make the following changes:
1. If you have the debuff, you can still queue for LFD.
2. If you have the debuff, you can't roll need.
3. The timer doesn't count down unless you're in an LFD group, and in a dungeon.
The last one is probably technically tricky, but I don't really care about the details
However, in essence what it means is that if you ditch one run, you lose the right to roll need on your next run. That seems fair to me. However, they should add a 'disband group' voting option as a way out if the whole group agrees that things aren't working out.