In an in-place upgrade, you stick in a CD, run the setup file and choose the upgrade option. The setup program will automatically upgrade older version of SQL Server to the new version and the older instance of SQL Server is replaced.
In a side-by-side upgrade, you install a separate instance of SQL Server(either on the same box or on a different one) and then move all the content(Databases, users/logins, etc) from the the older instance of SQL Server to the new instance.
What's the best method to use for upgrade: Well, there is no "best" method, there is however, a "right" method. If you don't have a separate hardware for a clean SQL Server 2008 install or if you can't afford to install SQL Server 2008 as a separate instance on your current production box due to performance issues, your only option is to perform an in-place upgrade. Please note that an in-place upgrade is an all-or-nothing approach and so is more risky than a side-by-side upgrade. However, if you have a separate server, a separate clean install would always be better as it will not affect the current production instance (there by providing greater availability) and you will have plenty of time to test your stuff before going live with the new version.
Note: Regardless of which method you choose to upgrade, be sure to run Upgrade Adviser to find out the bottlenecks that might affect your upgrade. It also provides links to documentation that will help you resolve any issue that you might come across during upgrade. Download upgrade adviser here