File typing has been a problem for software developers and users since the first box of punch cards had a job name with processing codes scribbled across its top. The Classic Mac OS used two 32-bit integers, usually expressed as four-character codes to identify a type and creator code. While this naming space or set of addresses filled up over a decade or so, other operating systems used a less defined convention of identifying a type with a dot and three letter extension. In 2001 Apple took a "Next Step" and changed from type and creator to dot/extension with the expansion from 3 letters to unlimited number of letters. The transition necessitated by co-existence of the Classic OS 9 and OS X as well as Carbon, Cocoa, and even Unix heritage applications caused a great deal of confusion for developers and users. This prevented a smooth and uniform adoption of extended extension typing. The primary reason for adopting file name extensions as stated by Steve Jobs at the 2001 developer's conference was because the other operating systems used the approach. That apparently didn't work out.
Over this same period a system called MIME types have been used primarily for MIME-encapsulate or tagged data for Safari and Mail. This system is partially supported by OS X and info.plist for application bundles. But extended MIME attributes were needed to properly use this convention for typing and application bundles did not support the information. MIME is really a non-starter for file format typing and was not really adopted in the OS X environment.
Around 2008 with QuickLook and Spotlight, Apple OS X began moving to a more "thought out" typing solution, called Uniform Type Identifiers (UTI - but don't google just UTI as that will take you to your Urologist's home page). Now with Mountain Lion, UTI's are used throughout the OS X technology, including iCloud, the Finder, QuickLook, Revisions and other modules.