depends upon your requirements , almost all free plugin give you same functionality till you buy their premium version , in forms contact form 7 is quite good , it have file uploading & file email attachment function which is more appealing for me .
I agree with David Albert. If you're stuck with WordPress as your engine, Gravity Forms is going to be the most flexible choice. If you're willing to send people off-site for subscriptions, you have so many other choices it's mind-boggling. If the whole point is to integrate with MailChimp, use what MailChimp is offering you. If you just said MailChimp as an example, it's essential to decide what level of subscription management you want to have (including administrative functions for your mailing list), before selecting a form/tool to manage your list. I have always written forms by hand with ColdFusion whenever possible because then I control all the back-end options, but if you don't have a CF server or know how to write code, then you need a different pre-packaged option. Again, on WordPress, Gravity Forms is probably your most flexible to integrate with anything. If it's just for MailChimp, ask MailChimp what to use.
Consider too what will happen to your list management the day you decide to use a different provider. Make sure your data is portable.