The aim of the IFC standard is to define a data structure to describe all the information that relates to a building. While there are some applications which claim to encompass all the information related to buildings, none are as comprehensive as the IFC standard.
The scope of the standard includes all architectural elements (walls, doors, windows, columns, stairs, ramps, roofs, slabs, to name a few) and building service elements (mechanical, electrical, plumbing).
Several resources also are included in the standard. These are entities that can be used by many building elements, or used several times by the same element. Examples of resources include materials (what things are made of), costs (different costing models), people (the people or organisations involved in the building), co-ordinates (where things are placed), geometry (the shape of things), tasks and milestones (work-related activities that can happen to a building).
Development of the IFC standard is ongoing and the scope of the standard is likely to expand over the next few years. Some current areas of development include external works (bridges and site works), escape route planning and performance-based code checking.
The following diagram shows the current scope of the IFC standard (courtesy of the International Alliance for Interoperability):

Comparison with Other Applications
To compare the IFC standard with other typical applications, here are several typical examples:
2D CAD – these applications typically store geometry only, in a two-dimensional format. Symbology definitions that determine how the geometry should be displayed are included in the format, but very few 2D CAD applications store any of the information required to create and manage a BIM, such as 3D geometry, material, relationships, costs, etc.
3D CAD – these applications typically can create the information required to describe the architectural elements of a building but most don’t store information relating to building services (HVAC, electrical layouts, wiring diagram, plumbing, etc.) or any of the supporting resources (costs, thermal performance, structural steel, people, etc.)
Facility Management – these applications store information required to manage the building after construction is complete, but most don’t store the geometry of the building so the data can’t support building design and renovation activities.
Maintenance Management – stores information typically required to maintain the plant items within a building (chiller units, fans, motors, generators, etc.) Similar to facility management systems, this data is a subset of the total information about a building.
Financial Management – these applications store the value of work that is undertaken on a building (contractor rates, depreciation schedules, asset replacement costs) and typically have no understanding of the fabric of the building such as the areas, location and geometry of the building elements.
Asset Management – these applications typically manage the location, value and maintenance of the contents of a building such as furniture, equipment and people.