You have a lot of good answers already, but I'd like to express a similar idea in a slightly different way.
Your salary is the representation of how much value you bring to your company.
If you're a salary employee making $50K a year, that means that your work translates into AT LEAST that much profit for your employer.
Why is it that we so rarely get substantial raises? Because your average employee's role typically remains pretty constant over the years. In other words, if they hire you to do payroll, you're probably going to still be doing payroll 5 years later. Why would you get more money for doing the same thing? It's silly.
Most companies will periodically give employees slight bumps in their pay -mostly to adjust for inflation. Unless you can prove that your actions - since your last raise/review - are now bringing more value to the company you have no valid reason to ask for a raise.
This is why the best way to get a raise (these days) is typically to jump ship, and find a different company that is willing to hire you into a role they value higher than your previous boss did you last one.
3. Your Situation
You've been offered a pay increased of $20K.
Assuming you're currently making $200, 000 (nice!), that's a 10% raise, which is pretty typical of the increase a job-change can/should bring about. A typical "periodic" raise is around 3%, so that's 3 year's worth of raises in one. No company is going to feel comfortable offering you that much money unless they are aware that they've been under-paying you, and are basically being forced to admit it. If, however, they considered your compensation quite fair, then a 10% raise "or else" is going to sound like highway robbery.
Assuming you're making $100, 000 (not bad at all), $20K is a 20% raise. That's pretty substantial, even for a job upgrade. Few companies are going to value any single employee enough - or have the budget - to counter-offer that sort of pay increase. Furthermore, even if they felt forced to do so, you'd probably be painting a target on your back as being over-payed. They'll be finding you a replacement pronto.
Assuming you make less than $100, 000 (like most of us out there), that's a HUGE RAISE. There is no way, in this universe, or some parallel one, that your company is going to reevaluate your compensation on that level.
Unless your paycheck is orders of magnitude higher than most people's, a $20K raise is not going to be matched by your current employer. Furthermore, if you somehow corner them into giving you that much money they're probably going to get rid of you sooner rather than later, as you'd become a drain on their resources.
Accept the offer. When you have the documents signed, go to your boss and hand in your letter of resignation. If they value your work they may very well attempt to counter the other company's offer. Most likely, their counter offer will either fall short of $20K, or not materialize at all. If that's the case simply leave with dignity and move on with your career.