This is actually both a software and an hardware issue.
As previously stated in the other answers, current architectures use a lot of caching mechanisms, in order to speed up processes. On power loss, you loose the content that hasn't been written on the non-volatile memory, even if you thought you had written it into a file. This is a data loss. This may also lead to data corruption, as some filesystems don't write on the disk in the same order as the above programs do, in order to improve I/O rate. I have heard of some people disabling out-of-orders writes in ext4 to make some software file corruption prevention mechanisms still work, while ext4 developers tell that such program should use fsync to ensure the filesystem behavior.
There are also hardware issues. Brutal power down may lead to over-voltage or over-current, mostly due to inductive behavior of some electric components, mostly motors. Nevertheless, well designed hardwares should be able to prevent subsequent damages. It's a bit more expensive, but, if you buy computers with one year warranty (even optional), or, a least, handles customer returns, it is less expensive for the manufacturer to add a flyback diode than to handle customer returns. Therefore, I'm not worried here, except with very cheap power supplies.
It is worth to note that today's reasons to avoid brutal shutdown differ from the one from 30 years ago. 30 years ago, filesystems were very sensible to the power failures, and you were able to corrupt the filesystem itself. Today, you may corrupt files, but not the whole filesystem, in theory. Practically, if you want high-end, state of the art performance, you'll switch to SSD. Solid State Drives use managed flash, usually Multi Level Cells NAND flash (this means double level cells), sometimes Triple Level Cells. With those technologies, on power loss during write, you may corrupt the page being written, but also one or two other pages in the same block. At the filesystem level, a modification of one file may corrupt an other file, or even the filesystem data. Due to wear-leveling, garbage collection, and other correct-and-relocate mechanisms, writes may happen even when the filesystem doesn't require any activity from the SSD (this is called background operation), and corruptions are therefore unpredictable from filesystem point of view. To avoid such corruptions, some SSD manufacturers add capacitors to their SSD to allow to end any ongoing operation on flash when powerloss is detected (this requires roughly 10ms of power supply). SD cards and USB flash drives have the same constraints, but can't have such capacitors.
To put it in a nutshell, a well-designed hardware is generally power-loss proof, but more expensive. Software is most of time power-loss proof, but sometimes assumptions may be broken by the evolution of other software. Any attempt to make cheaper design, or to miniaturize design may reduce the ability to make the design power-loss proof. It is also hard to know if your computer will always resist to brutal power-loss.