On (a), deployments are generally pretty terrible, esp. if you have a family. Most officers I know that got out didn't say it explicitly, but they made a comparison of life in the military vs. life outside the military. In this comparison, deployments are such a huge factor that the other stuff is pretty secondary.
On (b), officers have very few objective measures of performance. Those that exist have lots of noise. Good platoon sergeants can make incompetent platoon leaders still look pretty good. You can pencil-whip maintenance records. You get good or bad draws of soldiers & assignments etc. This encourages politicking and focusing on appearance over substance. Adding more "flexibility" to such a system could have some bad second-order effects, by ramping up the incentives to appear good to your commanders, without actually being good.