Question: why we need igp in bgp?
Answer: You use BGP because you don't want to carry your entire internet routing table in your IGP (i.e. in my case, OSPF)... ... Countermeasures have now been implemented in IGP protocols (like this one for OSPF in IOS) to prevent redistribution from BGP into OSPF from causing a major outage.