There are a couple of options when it comes to adding forms to Drupal 7. One is called Multiple forms which which is an API that allows you to put multiple forms into one.
Another is Webform which is a fairly sophisticated option. This one allows you to set up a form in such a way that the inputs are not all one below the other. I tried using this for one of my projects but found that the main problem with is was that you are not easily able to print out the form in such a way that it can be read. The module seems to offer only one font size which is too small for a user to complete and submit a paper copy. On the up side, it sends an e-mail to the person who filled in the form and to any other address you ask it to.
The problem was such that I eventually had to resort to a PDF type form which wasn't available in a Drupal module (worth looking at - its called PDF fill and you can set up PDF forms that users can complete and print on line - and of course a lot cheaper than the Adobe alternative!). Price is $19.99.
More recently on my Marlinspike Guest Lodge site, I made use of another module called qforms . This is a great module if you need to put something together quickly that you can use immediately. It offers the basic forms requirements and if you use qforms extra (which at the time I tried it still had a few problems), you can get a few more forms components.
The possible down side of qforms is that the forms are all stored online and you need to go online to see the responses. For the guest house site this is actually a good thing as you have a record of your responses easily available.
I recently had someone spamming the form and wanted to put captcha onto it. If you haven't met the captcha module - even though the current version for DR7 is still in Beta 2, my experience is that it works very well. A few points though:
Remember that if you are Admin and you have set the system not to ask you for Captcha input, you need to log out to test it.
If you want to use it with qforms, you need to add an extra option to captcha to allow you to do this. You need to go to the configuration page and choose captcha and then add the form ID at the bottom of the list. The easiest way is to look at the source of your form and take the ID (which has dashes - something like 'qforms-submit-form' and to use this with underscores 'qform_submit_form'. Its as easy as that. You can see it in action on the Marlinspike Guest Lodge Contact form where I've included a detailed contact form as well as a standard contact form (in case the visitor just has a simple enquiry.