The last, and perhaps most practical reason that you should never accept a counter offer is this: You will burn bridges with both your current company and your potential company. Your dependability in the eyes of your current employer will significantly decrease as a result of this interaction. They may keep you around, sure, but chances are they will be looking for your replacement all the while. Even if they aren’t looking for your replacement, they probably think you’re looking for your way out and will leave at any time for more money (which you probably will, let’s be honest). You’re leaving a bad taste in everyone’s mouth, and that’s just not fair. When you finally do leave, (because of your commute or your coworkers or what have you), then you’ve burned some bridges. It’s just not a great way to go out.
Also, you may not realize, but you successfully burned your bridges with your current company by accepting a counter offer as well as your prospective employer. If you make it through the entire hiring process with a company and then you bail at the last second, they’re never going to consider hiring you again. It’s always a huge disappointment to lose a candidate at the last second like that, and therefore they definitely won’t be willing to take a chance on you again.
So is it worth it? Here’s what you need to do: find another job. If you’re unhappy enough at your current company to entertain the notion of leaving, then you should just move on. Maybe this is tough love, but it’s true. You need to be working somewhere that allows you to thrive. And here’s another thing; something that makes you thrive may not be the same thing that allows the guy in the cubicle next to you to thrive. You’ve just got to find what makes you happiest, and it could take a while.