There are lots of pros - being able to take your bird out and about with you safely.
The main cons are that a lot of birds just will not tolerate them. Other cons might be that some birds can remove them (probably not a GCC though). And of course they can cause injury/loss if not used properly (for example if you let go of the leash and they get spooked and fly into a tree and get tangled out of reach).
The main thing is that many birds, small birds, especially, may find them uncomfortable and even scary. I think it's a good idea to start out with harness training while your bird is young, before he can start developing a fear of unfamiliar things. I don't mean actually putting the harness on right away but just getting him used to the feel of harness straps on his body. I'd get a short piece of ribbon that's about the color and size of the harness material and once your baby is comfortable with you, you can introduce it into playtime. Let him pick it up and play with it sometimes, other times you can try brushing him with it or laying it over him for a few seconds. Then you can progress to holding it in a loop with your fingers and putting it over his head again for just a short time. Also, if you get an aviator harness, you'll need to be able to lift his wing through a loop so you can try working towards practicing that, too. But just work at it very slowly, keep it as a game that's part of playtime at first. And make sure he is fine with all the harnessing steps while using a ribbon you are holding in a loop before actually using the harness. That way, if he does squirm around, you can instantly release him, whereas if he did the same thing in an actual harness, it might take you a moment to remove the harness - time in which he could panic and struggle and develop a fear of the harness.