Upgrade SQL Server database Using Compatibility Level
Compatibility level simply changes the language syntax that is supported by the SQL Statements.  This will cause all the execution plans to be expired and force them to be recompiled.  It has nothing to do with the data storage engine or the way that the data is written to the disk.

Once a database is attached to a SQL 2012 instance, it is in the SQL 2012 storage format and can't be moved back to an older version of SQL (no matter what setting the compatibility level is set to).

The link provided by @Shark (http://msdn.microsoft.com/en-us/library/bb510680%28v=sql.110%29.aspx) in the comments provides some additional reading on the subject.