A
simulator is a system that behaves similar to something else,
but is implemented in an entirely different way. It provides the
basic behavior of a system but may not necessarily abide by all of
the rules of the system being simulated. It is there to give you an
idea about how something works.
Think of a flight simulator as
an example. It looks and feels like you are flying an airplane, but
you are completely disconnected from the reality of flying the plane,
and you can bend or break those rules as you see fit. E.g.; Fly an
Airbus A380 upside down between London and Sydney without breaking
it.
An emulator is a system that behaves exactly like
something else, and abides by all of the rules of the system being
emulated. It is effectively a complete replication of another system,
right down to being binary compatible with the emulated system's
inputs and outputs, but operating in a different environment to the
environment of the original emulated system. The rules are fixed, and
cannot be changed or the system fails.