To add to everyone else's advice...cruises are just not that suitable to Southern Europe, period. You arrive in a town during siesta time, time is too limited to see the dramatic countryside, and after you get back on the cruise, the locals come out for a lively evening (one of the most quintessential Southern Europe experiences during the warmer months).
That said, if you must cruise, pick cruise whose ports of call you really want to see. Heraklion doesn't have well-preserved historic center like, say, Chania does. But, if your primary interest is Knossos, that works.
Also, if you're looking for a cruise that just does within Greece, rather than a Mediterranean cruise, you may be able to find a small intimate cruise (though these can be expensive), that spends more quality time in the country.