does anyone know why they all look like cattle carriers?
Because someone in the cruise industry decided around 1990 that what all passengers wanted was an outside cabin with a balcony, so the cruise industry have been building ships with only outside balcony cabins. To get as many balcony cabins into the available space as possible the ships need to be straight sided and straight ended.
The central (inboard) areas are used for galleys, bars, restaurants, shops, spas, technical spaces like air conditioning fan rooms and crew accommodation.
While pictures of a young glamorous couple sipping cocktails on their balcony look good in the brochures, the truth is that most passengers don't actually spend that much time in their cabins as one of the good points of cruising as a holiday is that you spend time in the public areas meeting other passengers and enjoying the facilities onboard.
The reason why passengers wanted balcony cabins was that it was a status symbol on the ship to have a balcony, when all the cabins have balconies it stops being a status symbol so it loses it's value. The reason the ships are so big is the same reason that container ships are getting bigger, the bigger the ship, the more cargo you can carry per tonne of fuel per mile travelled and the more profitable the ship should be.