A couple of additional things to point out.
If you are on the complimentary upgrade waitlist, your guest upgrade code will return an error code even if upgrade space is available. So, if you're not booked in a Value or higher fare class, you'd have to call in, be removed off the upgrade list, and apply your guest upgrade code in order to get that upgrade.
In general, there are a few reasonable strategies for the upgrade codes:
-gift them to people who don't otherwise have access, and they'll have a great experience that might be rare for them.
-use them for yourself anytime you don't book a cheapie fare (G/T) or a Value or above fare (Y/S/B/M/H) if Upgrade (U) space is available more than 5 days before your flight, but you think it is unlikely to be available by the 5 day window - i.e. on routes that comp upgrades are hard to come by (transcons, etc).
-use them at the time of booking on a non-cheapie, non-Value fare when the upgrade is important to you. For example, you're going on a trip that it's really important you get work done in flight, or really important you arrive well rested, etc.