Easy to test different systems. For example, I can play with different router or NAS software without having a separate computer around.
I've been able to create different "computers" that serve different needs and require different levels of security.
Currently, a cluster is probably overkill, it was a fun experiment.
Cons
Updating all the different systems can be a pain. I could probably automate it, but I haven't made the time to learn it yet.
As a beginner, I'm throwing a bunch of parts together and hoping it will work. I should probably be more strategic in my implementation, but I don't know what to prioritize. I'm sure I'll have to start over in the future.
With the previous point, the storage setup doesn't seem very intuitive. I probably need to set up that better.
I haven't quite figured out backups yet. My VM backups all seem too big. I need to figure that out and automate it.