As an amendment to the above answer (and a bit of a history lesson), "3-tier" and "n-tier" are the same where
n=3. Back in the dark ages, application code and data were all in the same assembly (and "computing machines" were the size of rooms). That quickly changed, and "data files" were invented, creating a two-layered (still single-tiered) architecture. Some other things happened, and eventually the RDBMS came along, which was housed on its own computer, and the age of "client-server" computing was born.
Once the concept of separating the concerns of "program logic" (which included presentation-, business-, and application-logic in today's parlance) from "database logic" (persistence) was digested, business and application logic was moved to a "middle-tier", and suddenly we had "three-tier computing". It spread in the early nineties, and coincided with the explosion of the Internet and the World Wide Web.
From three-tier, it was a short logical leap to spreading things across many layers, and separating those layers across many execution environments, sometimes for security, other times for maintenance, often for performance. Tiring of the idea of having to describe things in quickly-increasing numerics, the phrase "n-tier" was born, and really describes any application architecture that spreads itself across multiple execution environments.
Note that today, with virtual machines, multi-core processors, and parallel computing, it's hard to say what code is running on what discreet processor, or how its separated from another "layer" on another "tier", but we like to put things in containers, whether or not the container has any real boundaries.