You can get some discounts through travel agents. I booked my last through costcotravel.com. You can also go through cruisecompete.com, and many other cruise travel agents.
For a cheap cruise, don’t go during busy times. Leave from a port close to you. We went in January and got a decently priced cruise. It’s important to define what you’re expecting in a cruise. Luxury, gourmet food, tours, alcohol, etc. don’t expect luxury out of a $200 cruise.
We find Carnival fine for our needs. We drink little alcohol, and don’t book outings from the cruise line. We buy gift cards through AARP for 10% off. Get a rebate from Costcotravel.