This all depends on the extent of the damage that you are trying to improve upon. Composite bonding is a single-session treatment, which is great for correcting smaller imperfections, chips, cracks, and minor spacing between your teeth.
In contrast, porcelain veneers are ultra-thin sheets of ceramic material which are shaped to fit onto your teeth. These dental veneers usually require some removal of natural tooth material to make room for the veneer to be attached. They are normally recommended for larger tooth imperfections and, as they are lab-made, they are more expensive than composite bonding.