The best thing about packer is its ability to build multiple VM image with same base OS, which can be easily used in CI/CD pipeline. It's not that hard to learn but it does require some time to get familiarized with all functionalities. Also, if you want to use packer as part of your CD Pipeline then make sure you have enough resources like CPU power, Memory etc. available during execution phase otherwise your automation will fail. We are using it at our organization for building different types of VMs (Virtual Machine) such as Docker containers, kubernetes pods, Virtualbox virtual machines & more.