I was on the Costa Med and had a wonderful time, but it is a totally different experience than the typical "American" cruise. Be prepared to hear all announcments and activities in 5 languages (English will not be the first). Since you will be sailing in Europe on a Italian cruise line, you will definitely be in the minority on this ship, and will have to quickly acclimate yourself to the different cultural behaviors. As for comparisons, Costa is an average mainstream cruise line. Think of it as a Carnival cruise with a European flavor (great fun, party atmosphere, late night activity).
As for comparisons: Celebrity is a premium class cruise line and, as such, offers a more upscale product. I think you will find the food and service both superior to Costa. I have not been on the Grand, but based on my past Princess cruises if I were to rank them in order of quality of product, it would be: Celebrity, Princess and Costa. The Millennium, by the way, is an absolutely beautiful ship. My med cruise on her last summer was phenomenal.
Hope these comments help - but, if it were me, I think I would stick with one of your original ideas.