If VTP is not updating the VLANs correctly, check to make sure the MD5 digest on all VTP domain switches is the same. The MD5 digest is calculated using the revision number, domain name, and password to make sure the information in the VTP update can be trusted. I've seen issues where switches configured with the same domain and password, but the MD5 digest is not aligned until I update the VLAN database on the VTP server. This is typically caused by the local revision number being different between the switches. Making a VLAN change on the VTP server will send out a VTP update to all domain switches with the newest revision number so that the MD5 digests should align properly.
You can see the VTP md5 digest with a "show vtp status" command on each switch:
SW1(config)#do sh vtp statuVTP Version : 2Configuration Revision : 0Maximum VLANs supported locally : 1005Number of existing VLANs : 17VTP Operating Mode : ServerVTP Domain Name : CISCOVTP Pruning Mode : EnabledVTP V2 Mode : DisabledVTP Traps Generation : DisabledMD5 digest : 0x09 0xF0 0xD7 0x82 0xB7 0x08 0x82 0xAA Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00Local updater ID is 155.1.7.7 on interface Vl7 (lowest numbered VLAN interface found)SW2(config)#do sh vtp statuVTP Version : 2Configuration Revision : 0Maximum VLANs supported locally : 1005Number of existing VLANs : 17VTP Operating Mode : ClientVTP Domain Name : CISCOVTP Pruning Mode : EnabledVTP V2 Mode : DisabledVTP Traps Generation : DisabledMD5 digest : 0x09 0xF0 0xD7 0x82 0xB7 0x08 0x82 0xAA Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00