Watch the video - it's not.
Without reformatting - you can pull out the smallest drive (well really, any drive in most cases, but replacing the smallest makes the most sense) and drop in a bigger one. Then you wait for it to automatically rebuild /migrate data to obtain redundancy again - and then you can swap out the next drive to grow your system. The only catch is the initial format - the drobo fakes out the block device size to the maximum size you ever expect to use, at the expense of boot time (for the drobo).
The drobo seems to do block-level raid - each allocation block (or whatever they happen to call it) can have it's own raid level and mirrored to a block on another block on another drive - independely, so you can migrate and raid between different sized drives with a minimum of wasted space. (It will only waste what it can't mirror somehow)
If you drop in a 1TB drive and a 500GB drive, it will give you 500GB of space. If you swap the 500GB drive with a 2TB drive, it will show you 1TB of space. If you then drop in a second 3TB in a spare slot, it will show you 3TB of space after it finishes shuffling things around - watch the demo video - it's actually quite clever and different.
Regaular old raid arrays just don't resize like that.
ZFS can with some manipulations.......