Setting this option forces Android to stop each process as soon as it is empty (that is, when no services are started and no activities are on screen for that app).
To be clear: this option won't stop apps that would normally run in the background from doing so. Your mail client will still run periodically to check mail, if it's configured to do that. Apps that use Google Cloud Messaging to receive push messages from Internet servers (such as Gmail and Facebook) will still be able to do so. The option would be better named "Cached background process limit", since it limits apps that would otherwise show up with that label in the apps manager.
Next time each app needs to start, Android has to load the app from storage, from scratch. This uses more power and takes longer than running it again when the process was in memory. This doesn't just mean when you start an activity from that app deliberately; it also means the email client has to be loaded afresh each time it wants to check email. Over time this can build up to a huge battery drain.
Because this is a development option, it can also trigger rare bugs in certain apps, and those apps' developers may not be keen to fix them. One example is that, on Nexus devices running 4.2.2, when this option is on, the in-built Calendar app will keep restarting itself with this option set, because stopping the cached background process causes the calendar's content provider to be removed, which causes a loop of services restarting each other to check for calendar updates. If this happens, the loop will run down your battery very quickly.