So much depends on your use-case. What question do you want to have answered at the end of the process?
I'm involved in some research projects that are looking for things that shouldn't be there (invasive plants.) We need as much detail as we can get and we need to easily share results between team members. For us it is really helpful to see original imagery in the context of the ortho-map so we can toggle between alternative pictures/angles of the same plant. (We usually don't care about a dense point cloud, or the 3d surface model. The orthophoto is the thing the commercial tools generate which is closest to what we need.)
However, (for us) the traditional orthophoto generation techniques of pix4d and drone deploy dropped too much of the original detail. Drone deploy has a way to show you the original pictures covering an area, but not in any context and not in the correct orientation or location and so often I'm left wondering if it actually showed me the right pictures because I couldn't find the item of interest in them. Drone deploy didn't allow another team member to make annotations on my maps without buying that team member a full license. Pix4d-cloud seems to bungle up confusing areas like wooded sections or corn fields viewed from low altitudes (we are going for detail and usually flying at low altitudes.) We have a pix4d license, and I use the cloud version to make overview maps to share with our team. Drone deploy seems to do better with stitching more of the fringe areas correctly and making less (or zero) obvious mistakes like pix4d seems to often do ... but we couldn't justify carrying licenses for both products simultaneously.
I came up with a weird solution to our team needs ... I wrote my own stitching/mapping tool chain because it was something I had started messing with a few years earlier as part of another project. The pros is that we maximize the detail in our data set and have complete access to the original imagery and the code. We can make the code do exactly what we want. The cons are: don't add up the hours I've spent working on stitching code. It's research grade code, so not designed to be one-click and done like many of the commercial tools. It's written in python and needs extra packages manually installed, etc. etc. If we decide we need a new feature, I have to add it myself.
I don't know ... there's no perfect magic bullet and whatever you choose is going to either cost $$$ or cost time. For myself, it has been empowering to be able to develop the tools I need, but that does take time and takes time to accumulate the knowledge and experience. ( I don't have much time to offer free support for open-source software, but if anyone wants to poke around with the mapping/stitching system code I developed, it's all available here under the MIT open-source license:
UASLab/ImageAnalysis )
Oh, and there is also open drone map for another free/open-source solution that does have an active community of support surrounding it. For commercial tools, I don't hear agisoft mentioned much around here, but I've seen others use it and it seems very capable. Lots of people mention maps made easy. I've never looked into that package, but the results I've seen look solid. I don't think there is any single right answer ... it really does boil down to balancing your personal use cases and special needs versus other considerations (i.e. sharing, data privacy) and budget and time.
Curt.