It depends on a lot of circumstances. I have done both, so I'll give my opinions about each:
Free Ranging:
- Managing water is a huge pain, but can be figured out if you're crafty.
- They run the risk of escaping unless you get crafty and make the area escape-proof
- They feel less trapped, and sometimes get more calm because of it
- You have to cup or hand feed, there is no way around it
- You'd have to hang the lights from the ceiling or something like that, which may be a con if you rent.
- Have to protect them from other pets like cats or dogs.
Cage:
- You know that they are safe and can't escape.
- Managing water is easier, usually because setting up the misting system is easier.
- You can free range their food, and not have to cup/hand feed.
- They may or may not be as comfortable confined
- In my experience, cages chameleons seem to move less and get less exercise.
I have done both, and while I loved free ranging, I have them all in cages now with occasional free range time. I feel like I have to worry about them less, that I don't have to check the floors as I go to make sure they aren't walking across them. I don't have to wait for them to wander back if they explore the house and I can't find them (they always do, but it may take a day or two). If I only had one I might free range again, but with more than one I prefer cages at this point. Just make them as big as you can fit in the room and they'll probably be just as happy.