Try the wyndham emerald plaza... while they may seem expensive, they offer AAA & Aarp discounts.. as I recall they picked us up at the airport and I know that they took us to the ship... rate was about $119.00. The room was nice and they had a snack shop with reasonable coffee and danish etc. If you are really looking for cheap, there is a pretty nice looking Y .. with a highly recommended restaurant for breakfast in a good part of downtown San Diego.. Transportation is on your own though. Enjoy your cruise !
Try the Clarion. It is across the street from the Convention Center and about 10 blocks from the cruise ship terminal. Not as fancy as the Emerald, but right on the edge of the Gaslamp Quarter so you can easily walk to nice restaurants.
Try the "Holiday Inn Embarkadero" It's right in front of the Cruise terminal and Is not considered a pricey hotel, Just check the National # 800 reservation System for a quote (You can't beat the location)
We stayed at the Days Inn at a government rate of $53 plus tax, including breakfast. I booked it over the Internet. No one asked for a government ID at check-in.
We used their free shuttle to go to/from the airport. I don't know what the cab fare would be to the pier, since we were bussed to Ensenada from the airport. Maybe their free shuttle would drop you there as well.
The Days Inn was a nice clean place and we had a 2 room suite. I'd stay there again. They were on Rosecrans Street if that will help you to locate them.