You really do get services for almost 4 days on a 4-night cruise. If you board as soon as possible, you'll get on the cruise just before lunch. You are asked to debark just after breakfast. So you get 12 full meals, and miss out on 3 hours or so of a full 4 days, or even less if you push things to the extreme and get on the earliest possible and get off the latest possible times.
I've seen plenty of advertisements for things like a "5-day" land vacation that only included 4 nights, and would probably be more like 3.5 days of actual food and fun for most people, given travel time and realistic check-in/check-out times. Cruise advertising seems relatively accurate by comparison.