It was originally implemented by the Intel 82093AA and 82489DX, and is found in most x86 SMP motherboards. It is one of several attempts to solve interrupt routing efficiency issues in multiprocessor computer systems.
There are a number of known bugs in implementations of APIC systems, especially with concern to how the 8254 is connected. Defective BIOSes may not set up interrupt routing properly, or provide incorrect ACPI tables and Intel Multiprocessor Specification tables.
Finally, the APIC can also be a cause of system failure when the operating system does not support it properly.
*On older operating systems*, people often had to disable the I/O and local APICs. While this is not possible anymore due to the prevalence of simultaneous multi-threading and multi-core systems, the bugs in the firmware and the operating systems are now a rare occurrence.