Isn't the difference between Windows apps and Linux apps just libraries asked by applications running? (see previous question) How is possible then to make Windows applications running on a Linux system by software which is "not an emulator"!
Wine's not that kind of emulator
When users think of emulators, they think of programs like Dosbox or zsnes. These applications run as virtual machines and are slow, having to emulate each processor instruction. Wine does not do any CPU emulation - hence the name "Wine Is Not an Emulator."
Some people argue that since Wine introduces an extra layer above the system a Windows application will run slowly. While technically true, Wine is no different from any other software library in this regard; even newer versions of Windows must load extra resources to support older applications.
Importantly, the combination of Wine and Unix can sometimes be faster than Windows itself. This is especially true when the system has good drivers and the application isn't exposing any Performance Related Bugs.
An emulator acts completely like something else. These applications normally contain everything the original application or platform contains.
Wine however acts as a translator, by implementing only the required features of Windows and also translating these into instructions which can be understood by X-Windows.
A more practical example would be a virtual machine. When running Windows on Linux using a virtual machine, the virtual machine emulates Windows, as the complete OS is loaded and there is no direct interaction with the host.
However Wine talks to X-Windows for certain instructions directly when and if required, which is why it takes a period of time for applications to work in Wine.
More can be found at Wikipedia here.
Wine is not emulating Windows, but rather is the (or wrapper for ) win32 API for non-windows OS.