Its really much easier using one and while on Explorer of the Seas we were able to pull up our account right on the TV in our cabin so we could keep track of where were were in regards to how much we were spending. I believe you can also give them a cash deposit when boarding to use as your credit, but then you have to travel with a bunch of cash, where its really not necessary.
No you do not have to have a credit card. You can leave some sort of deposit such as cash or traveler checks at the pursers desk for onboard expenses. If you do not spend it all they will give back the overage if you spend more than you deposit you will have to make up the difference. We have done this in the past but it is easier with the credit card.
It is much easier with a credit card. They (the ship's staff) take an imprint, you monitor your bill, you have a wonderful cruise, your bank sends you a bill and you pay your bank. No interest charges, no lines to wait in, no excessive amount of cash to withdraw from the bank and carry with you.