The most amazing thing about FPGA is that the SRAM based ones can be re-programmed on-the-fly, live-in-circuit, while actually working on a problem. Akin to brain surgery on a patient while she's at work.
Most annoying thing about FPGA is they don't come ready with an OS infrastructure like Windows/Linux/MacOS, no file management no other amenities. If you design a small system on one of these chips, you have to write your own GUI and OS. Though newer FPGA chips come with x86 and ARM processors embedded in them.