Verification IPs are important in a way to provide interface to Design Under Test. A Bus Functional model is a typical example. A BFM is tied to a DUT and a verification environment can be built around the two. The DUT and BFM would then exchange traffic packets. It is very important that VIP should be bug free, so it must be carefully coded.