All versions of InDesign are able to open files for the same or earlier versions, but not later (and this includes the half-step, or .5 releases). This can be a major problem for workflows that require collaboration among users who have different versions.
The good news, sort of, is that since InDesign CS2 (version 4.0.x) in the utterly confusing way that Adobe has decided to number things) and up to CS5 (version 7.0.x), InDesign has been able to EXPORT a file format that will be readable in the immediately previous version. For CS2 through CS4 this format is called Interchange Format, or .inx. In CS4 a new format, .idml was introduced, and this format continues to be available in CS5 and CS5.5 (version 7.5.x).
The limitation of using .inx for backward compatibility is that only the version of InDesign immediately prior to the one used to export, i.e CS3 if the .inx is exported from CS4, and any newer version are able to read the exported files. This means that if you need to go back more than one generation you MUST have access to all intervening versions, and you must export from the original, then open in the previous version, export again, and so forth until you have reached the point where your target version is able to open the file. It is also necessary that any previous versions be updated to the latest available patches to be sure they will correctly read the exported file. These patches are generally released after a new version is launched and the primary purpose is, in fact, to establish this backward compatibility. Bug fixes are a bonus.
All .idml files can currently be read by CS4 and later, regardless of the version used to export them, so there is some hope for better backward compatibility moving forward, but for now, if you need to port any file to CS3 you will need CS4 in the process.
Now the bad news. Neither .inx nor .idml files are going to translate 100% perfectly 100% of the time when opened in the previous version. The success will depend on the structure of the file. Any new features that did not exist in a previous version will simply be ignored and lost when the file is opened, and there is a very real danger of text reflow due to differences in the text composition engines from version to version. This can be particularly problematic with long documents that have threaded text as the reflow can change the number of lines in a paragraph and cause the text to break differently across pages and go into overset, and tinkering that might have been done to fit copy in the original may not be appropriate in the earlier version.
Trying to go backwards more than one version can compound the lost features and text reflow effects, and the result may be quite different in appearance from the original. Best practice is, when working in a collaborative workflow, to have all users working in the same version whenever possible (even if it means someone needs to upgrade), and users should avoid a workflow where files are sent backwards and then forward again.
For more discussion on idml (as well as a bit of the technical issues behind the back-saving issue), you can read this blog post.