I would need to examine your teeth in person to make a recommendation, but in general, porcelain veneers are a better investment than bonding as they last longer and are more durable.
As for your question about disadvantages, the main disadvantage to bonding is that it does not always last a long time. It can be prone to chipping and breaking, and you may need to have it replaced often. You cannot bleach bonding, so yes, it is possible for bonded teeth to become stained. Bonding generally does not require much prep of the natural teeth.
Porcelain veneers, on the other hand, can last for a decade or longer if you take proper care of them. The disadvantage in this case is that veneers do require the natural teeth to be shaved down in order to make room for the veneers in the mouth.
I suggest visiting a cosmetic dentist for an in-person consultation. They can examine your teeth and answer all of your questions to help you decide which procedure to have.