Expert systems are computer programs that contain knowledge from human experts and use logical rules to solve problems in a specific domain. They have four main components: a knowledge base that stores rules and data, an inference engine that applies rules to solve problems, an explanation facility to explain solutions, and a user interface. While expert systems were widely developed in the 1980s and 1990s, they have limitations such as a narrow domain of knowledge and inability to learn.