A 3-tier architecture separates an application into three logical tiers - the presentation tier, the application tier, and the data tier. The presentation tier displays information to the user and communicates with other tiers. The application tier contains most of the logic and communicates between the other tiers. The data tier manages the database where information is stored and retrieved independently from the other tiers. This separation of concerns allows each tier to be updated or modified without impacting the others.