If you're talking about a community instance that strangers can join, it's mostly about volunteering and feeling like you're contributing to something.
If you're talking about running one for you alone, or you and friends or family, then it's mostly about controlling your experience. You control when there are updates, you control what version you run, you know who has your data, it's you. You know no one's doing anything bad with it, because it's you. If there's something bugging you and someone else wrote a patch to fix it, you can deploy that. Or if there's some setting to enable or disable a feature for the whole instance, you can set it to your preference.
The cons are that it's you. If it goes down because something broke or got corrupted, it doesn't come back later on its own. You do it. If your database poops the bed and eats all your data, then did you have backups? Were they kept on a different disk than the corrupted one? Because if not then your data is now gone. A new version came out! When does the upgrade happen? When you make time to do it. Maybe there's manual migration steps you need to do, maybe you need to change some new settings, you should probably make a backup in case you have to roll back... How did you know there was a new version out? How do you know if there's some critical bug or security flaw you need to fix? You have to subscribe to the community, essentially.
Maybe you subscribe to a lot of busy photo communities and then one day lemmy is down for you. Weird... the box won't turn on. Oh, the disk is at 100%. Shit, did you not have a monitor that checks disk usage and emails you when it's getting full? Oops...