Two common reasons.
The first is that the database was created in a newer version of Access than
what you have. For example, if it was created in Access 2003 using the
Access 2002/2003 file format as opposed to the default Access 2000 format,
you'd get that message if you tried to open it using Access 2000. Note, too,
that if you've got more than one version of Access installed on your system,
the .mdb file extension gets reregistered so that it's always associated
with the last version of Access used. That means that if you simply
double-click on the .mdb file in Windows Explorer, the "wrong" version of
Access may be trying to open the database.
The second is corruption of the database. For a good discussion of database
corruption, see what Tony Toews has at
http://www.granite.ab.ca/access/corruptmdbs.htm