They are good, especially when EV training, though they cost a lot. I think you can't give more than 10 of the same Vitamins to a Pokemon, well you could but it won't have any effect, and I doubt you can afford that many anyways.
Each Vitamin gives 10EVs to a specific stat.
In Generations I and II, vitamins gave 2560 Stat Exp to a stat, but could only be given until that stat had 25600 Stat Exp. However, in Generation III and beyond, stats were calculated with the system of effort values, and so instead vitamins give a Pokémon 10 EV points to a stat, only working if the EVs of the stat raised are less than 100, and if the total EVs are less than 510.