If you are in the position where you feel as though you are underpaid, there are several possibilities:

A. Median salary or cost of living has gone up in your locale.
B. You have taken on additional responsibilities.
C. Your individual job-market value has permanently increased.
D. None of these.

In case of A, wait until the annual review has completed. If your salary is not adjusted appropriately, notify the company through normal channels--by telling your manager--that the annual pay adjustment apparently did not account for changes in the local market, and that the company's compensation may be becoming less competitive. Don't ask for an individual raise. Ask that the compensation for all same-locale employees in your work group be re-reviewed, using survey data for your locale this time. If you, specifically, don't get a raise within 30 days, start looking for other jobs. At the exit interview, say only that you are leaving because you got a better offer elsewhere. By this time, you can't say anything else helpful to you or the company, so don't. If you do get a raise, ask around your peers to see if they got one also. If they did not, stop to seriously assess whether yours is a "squeaky wheel gets the grease" company or a "the nail that sticks out gets hammered down" company, and maybe still go job-hunting if you feel paranoid enough.

In case of B, you should be offered a raise by the end of the quarter in which you took on additional responsibilities. So on 1Jan, 1Apr, 1Jul, and 1Oct, think about whether you were given any additional job duties during the previous quarter. If you were, and you did not get a raise, meet with your manager to determine whether those additional responsibilities were intended to be temporary or permanent. If the former, ask for a bonus. If the latter, ask for a bonus and a raise. Don't mention a specific amount, other than "a fair amount for what I have been doing," so they make the first offer. If they lowball, counter it once, and then immediately accept whatever their next offer is. If that was still too low, go job-hunting.

In case of C, you need to build a case for a raise, and ask for a specific amount of additional compensation. If you earned a new degree or certification, or professional society membership, my approach would probably be to ask about updating the internal company resume, and mention that the changes will reflect an increase in value as an employee. Discussions of salary adjustments might get deferred until the next regularly-scheduled review, which seems reasonable to me. During that process, make sure to ask whether the additions you made will be considered in the final results. It is reasonable to also ask for a one-time bonus for resume-worthy achievements. If you don't get a raise that meets expectations, go job-hunting.

Case D seems most difficult to me. You'd basically just be saying "I want more money for the same amount of work". Don't say that. Instead, say "I want to do a little bit more work, but get a lot more money for it." In other words, ask for additional hours, additional duties, or promotion to a job title that has a higher pay-to-work ratio, and then after getting that, renegotiate pay as in cases B or C. Even if all you get is a change in job title with no change in pay, make sure it is a title that gets paid more at other companies. Then, when you go job-hunting later, you can get higher offers.

Your best alternative to negotiated agreement is always to take whatever the company offers and live with it while you are searching for other jobs.

I'm not a fan of telling my current employer that I have a competitive offer. I'd just resign, and take the offer. It's not really my job to do employee-retention work for the company. I'd be sure to mention that the only reason I'm leaving is a better offer, and that I would consider working for the company again later, if that were to change.