The key difference between Revit and any other Building Information Software program I have used in the past is that Revit specializes in change management. This means that when a change is made in one document or view of your project, that change is made through out the set of documents or views. This is made possible through Revit’s parametric change engine that allows the program to understand intelligent relationships between objects. For example, when you draw a wall in CAD it is represented as two parallel lines. Revit understands that those lines represent a wall, and that that wall is connected to that square that represents a roof, and so on. Because Revit works with parametric objects, with distinguishing and separate features, this makes customization very easy. As an example of the difference lets look at how to change the height of an object. In CAD you use the scale tool, which subsequently changes the size of the entire object. In Revit, you simply change the height parameter of the object.
Another major difference between Revit and CAD is the ability to view your project in multiple dimensions. Unlike CAD, which only allows you to describe your project in two dimensions, Revit actually assembles a three-dimensional model of your project. Thus allowing you to have a more complete understanding of what it is you are constructing.