There are six different techniques used to modify the appearance of Drupal forms. Depending on the circumstances, you can:
1. Work with the existing CSS styling.
2. Modify the page or block holding the form.
3. Override a default template associated with the form.
4. Override a theme function related to the form.
5. Convert the function that generates the form into a template.
6. Modify the form with a custom module.
Of those six techniques, the first two are the most limited, as they do not involve changing the form output by itself. The third technique, overriding the default template associated with the form, is useful, but limited by the fact that not all the forms are the subject of existing templates.
Of the six, the last three techniques are the most powerful as they deal with the form itself. Unfortunately, the last three techniques are also the most complex to implement. Each of the approaches is discussed in the following sections that follow.