Well don't expect a near free cruise. But you can find some greatly discounted rates. The first thing is to not try to travel during the peak cruising dates (mainly any time when there is not school or holidays)
Rarely do the best deals sail when you can vacation. At least that is what I have found. BUT if you happen to be retired and thus able to travel at non peak times then there are good deals to be found. Check the cruise line websites for specials. They are always running specials, just don't get taken in by the "Biggest SALE EVER!" ads. They say that about every sale.
If you live near a cruise port (within a 2 hour drive) you can always watch for last minute cruise deals.. Carnival has their "Pack n go" rates and I am sure Royal Caribbean has something similar. Or call the cruise line and ask them to put you on a list of people to contact for last minute cruise specials.
A travel agent (one that specializes in cruising) can also help as they have inside leads on group space that may be discounted etc...
Lastly, take advantage of discounts offered by the cruise lines. Most offer deals to past customers, some offer military rates (Carnival's military rates are very good actually) some lines even offer teacher discounts, police/fire discounts etc... Never hurts to ask if they offer special rates if yo are a part of one of those groups.
Carnival Cruise Lines:
Fantasy 90, Celebration 95, Victory 05, Conquest 05, Spirit 6/06, Freedom 6/08, Holiday 7/08, Victory 6/09, Valor 9/09, Dream 6/10, Splendor 8/10,Conquest 8/11,Magic 11/11,Triumph 4/12,Spirit 7/12,Freedom 11/12, Triumph 2/13 - The fire cruise
NCL Dream October 2006, RCCL Mariner OTS June 2007