I think there are two schools here.
1. If you want a high converting lead gen program or a a traditional one.
#1 Traditional one is where you buy a list and send newsletters, and emails of offers.
#2. The high converting lead gen is where you do SEM, blogs, webinars and lives stream that produce leads that are deeper into the sales cycle.
In the #2 version. You will want something that has a richer tagging system and a customized funnel to match each strategy created for your sales funnel. There are many different things that nurture or drive the sales funnel so, in this more complex system I would suggest active campaign, or get response, layered with infusionsoft.
Then layer in webinar tools, get response has a webinar tool already imbedded and infusionsoft will allow the most complex funnels to be created so you are able to nurture each tagged set, no matter where the lead comes from or where they are in the buying cycle. In #2, it means less cold leads, so you can plug this into sales force and directly to the sales team.
Hope that helps.