Synology runs Linux internally. If you're familiar with Linux, you can even compile and develop your own apps for it. If you peruse Synology's support forums, they have lots of other (beta) apps and third party apps you can install. The primary limitations of the Synology boxes are CPU and memory.
http://forum.synology.com/enu/index.php?sid=186a030b72dc53d27b58bc1dfd652c9a
I run FreeNAS myself on a homebuilt server, mainly because I wanted ZFS (which is a whole nother topic in itself). It's good for what it does, but is built on FreeBSD so there isn't as rich a library of software out there. Also, in order to support ZFS the latest version of FreeNAS increased its recommended memory requirement to 8GB of RAM. At that point IMHO it's more of a server than a NAS. But that really highlights the difference between FreeNAS and a Synology, QNAP, or ReadyNAS. The standalone NASes are built to simply host and serve files. FreeNAS is built to do that, but with the robustness and data reliability that ZFS adds. Consequently its hardware requirements are much higher (in CPU, RAM, and memory - you want ECC memory if you run FreeNAS).
http://en.wikipedia.org/wiki/ZFS