Emulation (linguistic meaning close to enactment) strives to perform the intended task of a target system without trying to replicate the appearance and behaviour (of the target system).
eg: WINE (for running Windows apps on Linux; it does the main purpose of Windows, running Windows compatible applications)
Simulation (linguistic meaning close to imitation) strives to model the appearance and or behaviour of a target system without trying to perform the intended task of the target system.
eg. Microsoft Flight Simulator (For modelling the actual process of flying but it does not perform its intended task, the physical transportation and the control/navigation thereof)
Virtualization strives to perform the intended task and the appearance and behaviour of a target system while isolating it from the underlying system (either physical or software platform).
eg.
Windows 11 running with Windows 10 without rebooting to switch between the Operating systems using Microsoft Hyper-V. Hyper-V manages the underlying physical machine giving the operating systems running under it only the virtual control of the (physical) system effectively separating it from the underlying physical hardware (for the purpose of virtualization).
A virtual showroom performs the main function of a physical shop, selling goods. As it functions in digital space it is isolated from the physical facilities that (actually) provide the service.
- Perfect emulation + perfect simulation = identical to the target system
Bonus:
Question: Why is the iOS simulator called a simulator rather than an emulator despite it does what iOS does (runs the iOS apps)?
Answer: Because it does not run the iOS apps in their original format as they are converted to the desktop platform efficient compatible code. Furthermore, as iOS is closely intertwined with iPhone hardware such features are imitated. So the combined result is closer to being simulated rather than emulated according to Apple's terminology (I think because of their highly protective 'walled garden' and the physical device-oriented approach perspective) although I would have been more inclined to call it an iOS emulator rather than a simulator. On the contrary, we call software that runs Android apps on PC, Android emulators, although they do not emulate the mobile hardware-specific functions of Android phones (and may or may not run in its original format) because Android OS is not so tightly bound to mobile hardware as iOS does. So, generally, it depends on your emphasis and perspective and practical situations frequently cause ambiguous use of the terms.