I was married on The Destiny in 1999. You are not able to do it "at sea". We did it when she was at the Port of Miami. They really made it special for us - it was very nice. We had family come aboard for the wedding (they were excited to see the ship). They stayed for the luncheon e had - then they had to depart (We did have a few family members that paid to sail with us).
Getting married on-board a Carnival ship is very special and it is possible to have Non-sailing guests if your wedding is planned for a USA embarkation like Ft. Lauderdale, Miami, or Long Beach, etc. However, this is not free. It will cost quite a bit for about a 1 hour reception and ceremony. They allow the Embarkation Day wedding parties to board first so they can proceed with the Wedding Day preparations and ceremony. Contact the Wedding Planner at Carnival if this is something you are thinking about doing. A lot of couples do this. They only allow a certain number of on-board weddings on each sailing.
This was dicussed before and as I recall Princess is the only cruiseline capable of legally marrying at sea. The other lines require you to get married while in a U.S. port where a legal entity can perform the ceremony and complete the necessary legal documents.
Book me on your next cruise and enjoy your personal punching bag.