I had basically two motivations to write my own: 1) because I could, 2) because bspwm - at least at the time had a couple of quirks I disliked: a) if I ran a file manager, it'd open on all the desktops, b) it took a hack that wasn't very satisfying to get one desktop to be floating while the others were tiled. Those were minor, and so if I hadn't already been working on extending X11 bindings for Ruby for my other Ruby projects I probably would've stayed on bspwm, but since my usage was also very simple, I figured I'd see how long I'd last, and I got close enough within a few days to decide it was viable to keep using my own instead of trying to fix bspwm.
My tolerance level for weird quirks that I'm in control of is very high, though. It feels very different when its your own bugs :)