We got one per person for free for the cruise because we booked through AAA, and this is one of their benefits. I myself don't drink soda (unless it is in an alcoholic drink! HA!) but my husband and son do, and they got them refilled quite a few times. the mug is pretty nice, even if it is plastic too. I suppose it would depend on how much soda you drink. I was glad that we got them...
Yes soda is free at the meals, and you don't take your mug to dinner. You do however take it to CC with you, and you can get free refills there too. There was also a day or two on the ship where they advertised filling you soda mug, and than you paid a couple bucks for a shot of booze for it. We didn't do this, but i think some folks on our cruise did...