A simulator is, as Lightlyseared said above, a system (software, hardware, or both) that simulates another system. The word simulation often implies non-equality. When simulating a system, such as an aircraft, there are usually simplifying assumptions that are necessary to achieve a tractable solution. Usually a simulation involves solving equations that represent things in the physical world and using these solutions to find out how something might function in the real world.
An emulator is usually used to describe a recreation of a hardware system in software. Basically, again as Lightlyseared said, it is a program that allows you to run certain programs that were designed for other systems. This is usually done by importing the original system’s BIOS or other embedded software and creating a software network to handle the input and output operations to the original embedded software. The term emulate usually implies approaching equality or actual equality. Emulators usually have a very strict goal to achieve equality with the original hardware.
In short, simulators try to determine what would happen to something given certain inputs and propagated through time, emulators try to give an output indistinguishable from the system it’s trying to emulate. I think you can see the differences well when you see their goals compared.