Different job now, so my knowledge is from end of 2017, but I had one real problem with puppet and using it at home versus at the job. It scales up, not down. If you can take your time and upgrade the forge modules you use for a few hours and deploy to even just a dozen servers - fine, time saved. If you (in a homelab) only ever have 1-3 of a type of machine.. you never catch up.
With ansible, I write a lot more “from the ground up”, maybe a little more with cheap hacks. But it survives months and years of usage and updates and doesn’t break all the time. I have no time budget for updating/fixing the tool itself at home, I found ansible to be much quicker and slimmer to handle. But on the other hand I still don’t know how it scales up to dozens or hundreds of machines - I know puppet can do that, it’s just no fun if you don’t have a good chunk of hours in your week to make it work.