Mumbai harbour cruises are a mixed bag but can be genuinely pleasant if you pick the right one. Expect a 1-2 hour ride with decent views of the Gateway of India, Marine Drive skyline at night, and the naval dockyard. The experience is more local than luxury - you'll share the boat with Indian families, couples taking selfies, and the occasional noisy group. Food and drinks are usually available (extra charge) but nothing special. Sunsets and evening sails are the most popular; the city lights reflecting on the water make it worthwhile even if the commentary is often in Hindi or mediocre English.
Best time is November to February when it's cooler and less humid. Avoid June-September (monsoon - many sailings get cancelled and the sea gets rough). Expect to pay around ₹800-2000 per person depending on whether you go for a basic daytime ferry-style boat or a slightly nicer evening cruise with snacks and seating. Private charters are much more expensive.
Tip: go for an evening cruise with open deck access rather than the cheap daytime ones that feel like crowded ferries. Skip the ones that advertise "dinner" unless you're okay with average buffet food at inflated prices. Book directly at the Gateway jetty if possible - it's often cheaper than through hotels or apps.