Expert systems are computer applications that solve complex problems in a particular domain at an expert human level using artificial intelligence. They were developed in the 1970s by computer scientist Edward Feigenbaum. Expert systems can explain their reasoning, deal with uncertainty without full information, make errors, and display intelligent behavior, while not being able to refine their own knowledge bases or always being difficult and expensive to develop and maintain. They have applications in medical diagnosis, vehicle fault detection, design, virus detection, and loan analysis, providing advantages like speed, reduced errors and risks, while always being available.