Most of the common lines(carnival, celebrity, royal, ncl) now charge for all sodas. It's about 2.10 for a can and they will add 15% gratuity. When you checkin online there will be a bunch of extras you can sign up for one being a drink package. This will tell you what you will need to pay for unlimited sodas. Prices vary a lot by cruiseline figure at least $7/day.
Not widely published but you can bring water/soda/even alcohol in some cases on board with you. Again this varies by who you are cruising with. I always bring a couple of 2ltr bottles in my suit case which will reduce any desire to pay per can.