First the files:
The .mdf is the Data file. That's your actual database. The .ldf is the LOG file. That's the transaction log. The transaction log keeps track of all the updates/inserts/deletes that happen on your database.
SQL Server does have something that could shrink your database to get rid of 'empty' space. Whether it is turned on or not only you can tell. There are two ways to automagically shrink a database. Open Enterprise Manager and expand to your database. Right click the database and select Properties. Go to the Options tab. Is AUTOSHRINK checked? If so, SQL Server will attempt to shrink your database whenever it can. If not, in EM find Management, expand that and click on Database Management Plans. Do you have a DMP? If so, review that plan, it might be shrinking the database.
How do you shrink the Log file? You can run DBCC SHRINKFILE or you can backup the log file (BACKUP LOG).
Refer to the BOL for more information on the .mdf and .ldf files along with shrinking database files.
BTW- have you made sure no one deleted data?
-SQLBill
BOL=Books OnLine=Microsoft SQL Server Help
Installed as part of the Client Tools
Found at Start>Programs>Microsoft SQL Server>Books OnLine