I understand that's what they were trying to do, but because they made Vincent so skilled, it seemed they had to jump through hoops to make a situation for him to fail. It was forced and unbelievable.
It was almost as if they were in the writing room saying, "We need to research hit men, have him do a perfect Mozambique technique, not just once, but twice! He needs to dress and talk like a special forces/CIA kinda guy...Oh shit. Jamie Foxx is a simple taxi driver who is supposed to take him down in a ironic and meaningful way...hmmm... Just have him blindly shoot through shit! Yeah! On a subway! (Never mind that the subway is almost never vacant anytime of the day and there is always a human conductor who magically can't hear bullets.) That'll do it!"
It's even more frustrating for someone who has a working knowledge to appreciate the detail of how everything was put together, like even Tom Cruise's trigger discipline and grip style, and then see it all thrown away to a big WTF ending?
A lot of video games are really bad about this, setting up parameters of believably and then shutting it down. Characters are an easy target. Sequels are notorious for butchering this. And yes, I understand that this is a continuity problem, but it is also realism. If a character has acted in a very guided way, then all of a sudden changes course without any real plot motivator, then one can make the argument that it's not real.
Like if Clarice Starling magically developed a crush on Hannibal Lecter. That's breaking realism.
Clarice Starling getting to comfortable and forgetting to double check if she passed him a paperclip with the files she wanted him to examine, that's continuity.
To me it's a matter of degree. One is more plausible and can make sense in the world of the story, the other is just out of left field.