Passenger Vessel Services Act of 1886 (46 U.S.C. 289) states that "no foreign vessel shall transport passengers between ports or places in the United States." Most of the ships cruising from American ports are foreign, so they have to include a foreign port in all itineraries. That's why Hawaii cruises leaving from Los Angeles and San Diego stop at Ensenada (Mexico) on their way back from the islands.
Norwegian Cruise Line is the only one that can offer cruises around the Hawaiian Islands. The cruises depart from Honolulu and visit Maui, Hilo, Kona and Kauai. It's the way to go if you're willing to fly to Honolulu instead of sailing from Los Angeles or San Diego.
A short stop in Mexico or Canada is no big deal. Enjoy the variety and don't let it detract from your Hawaii cruise.