There are several factors when deciding which of these is better. A dog harness and collar can be used in similar ways to compare the two. However, they are also very different so the best of the two really depends on the goal you are trying to achieve.
Dog collars are best to hang identification tags. They also are the best for teaching your dog commands. They are very helpful for training.
Harnesses allow your pull to be spread evenly across their torso without any fear of damaging your dog's neck. No-pull harnesses are made of soft nylon with a ring in front of the dog's chest, instead of the top of its back. If your dog is hyper-active or hard to control, place him or her in a no-pull harness.
Some dog harnesses can be difficult to get your dog in to. Dog collars are easier to put on. If you are turned off by all the straps and clips of a dog harness, invest in a step-in dog harness so all your dog simply has to do is step in to it and you are ready to go.
If you travel a lot, a dog harness can prevent your dog from moving around your car or jumping out the car. Dog harnesses can double as a seat belt for your dog. Your dog harness can be connected to your car's seat belt to keep them safe and secure during your drives.
Both dog harnesses and collars are best in their respective areas. It is important to remember that both dog collars and harnesses are beneficial for different things. Decide what your goal is and you will be able to know which is best for your dog right now.