When I upgrade a site from Drupal 6 to Drupal 7, is it necessary to upgrade version by version, or can we directly upgrade to Drupal 7?
It is strongly recommended that you upgrade to the latest version of Drupal 6 before trying to upgrade to Drupal 7. Make sure you read the text under "MAJOR VERSION UPGRADE" in the file
UPGRADE.txtthat comes with Drupal 7 - it is also online. You should be able to go from where you are directly to the latest Drupal 6 version (currently 6.27) - there is no need to go through intermediary minor versions. And you can go directly from the latest Drupal 6 to the latest Drupal 7 (currently 7.18).
Before you start, disable and uninstall all contributed modules you don't need. Also disable and uninstall all modules (such as CCK) that say upfront that no upgrade path exists. If a module offer an export/import feature (e.g. Biblio), then use it. Export all content from Drupal 6, then disable and uninstall the module. Reinstall the module and import the data when your Drupal 7 configuration is stable.
For all contributed modules that remain installed at this point, make sure you upgrade them to their latest stable Drupal 6 version before you start.
Also make sure you make a backup of everything before starting. You may have to go through the upgrade several times. In your first attempts you will discover contributed modules that break your site when you upgrade. You must disable and uninstall those, and then try again. Repeat as many times as necessary.
Depending on the complexity of your site, you may want to fasten your seatbelts. It's going to be a bumpy night.
Upgrading a stripped core configuration is fairly painless. But not all contributed modules has a (working) upgrade path. In particular, if you've used CCK, expect that some data does not make it into Drupal 7 automatically. (I ended up writing my own DB conversion scripts using flat text files as intermediaries - and in some cases: scraping content and pasting it back into the upgraded site).