The following comes from Art of Manliness:
Belts are worn for both function and style. A seemingly small accessory, they can have a surprisingly large impact on the impression you make. They can be a piece that pulls an outfit together, or end up becoming a distraction that sabotages its overall effect.
Part of making a belt a get-up enhancing accessory, is making sure it complements the rest of your clothing. Here’s how to match a belt with a formal or casual outfit.
Matching a Formal Belt with Your Outfit
When you’re wearing a formal belt, be careful to match your leathers and match your metals: the strap of your belt should not only be the same color but also the same level of shininess as your shoes and other leather accessories, and the buckle should be the same color as your other metal jewelry and accessories (with the exception of your wedding ring, which can contrast with the other metals you wear).
Matching a Casual Belt With Your Outfit
A casual belt should still match your metals, but you’ve got more leeway on the leathers — brown with tan or tan with white is fine. Of course with casual outfits, you’re often not wearing leather at all — either in your shoes or in your belt. You don’t need to match the color of a casual belt of leather, or any other material, with the color of canvas/cloth sneakers. Just let the color of the belt work with your overall get-up; when in doubt, go with brown.