While resource loading mainly deals with manpower, resource leveling deals with both time (starting and ending date) and resources, including manpower and budget. Resource leveling tries to balance the conflicting interests of projects with the available resources.
Resource leveling generally breaks things down into two categories: time and available resources. Some projects need to be finished within a certain timeframe. These projects will use all the available resources (money and manpower) to complete the project by a certain date. For a complete overview of resource leveling, read my article "What is Resource Leveling?"
Projects that aren't as pressing can be spread out for an indefinite period of time until resources do become available. These projects are usually ones that are not on the critical path and will not affect the project completion date.
Like resource loading, resource leveling also has its problems. It is hard to determine in the beginning which tasks will be on the critical path. Also, delaying a task could cause the entire project to fall behind schedule.
For additional information on how to level resources in Microsoft Project 2007, go to Deanna Reynolds' articles, Project 2007: Leveling Resources.