My understanding is that a waistcoat is a vest that buttons up the front and traditionally worn with a jacket. A vest is a garment with no sleeves.

I'm sure there are some others with a more technical (and correct) definition and I also await a clearer answer....