At university, my control engineering courses are focused on a more theoretical approach, but the main message from our professors was clear: When designing a feedback controller (PID, H-infinity, MPC,...), always prove stability of the controlled system, check the robustness etc., and of course, always have an appropriate (identified) model of the plant. Essentially we were shown what could happen with a badly chosen controller and that a solid theoretical analysis is a must-have to avoid that.
So over the years I talked to electrical and mechanical engineers without that formal background who worked on controlled systems (but rather small systems that could fail without people getting hurt), and many of them never used the "theoretical tools" (some even didn't know what "Robustness" means) we were told to use. The electrical engineers espacially, simulated the system and if they were satisfied with the results they went with it. Even in some non-control-engineering text-books and a Udacity course a "trial of parameters until the behaviour seems okay" - approach was suggested for PID design, which "horrified" me (Note: even something like Ziegler-Nichols was very "discouraged" by one of our professors)
The formal approaches seem to be important, but of course, the model is always imperfect (and are often costly to get) and often it worked in theory, but still had to be adjusted. Furthermore, I found it difficult to judge if a certain gain & phase margin actually is okay, or the control law of a sliding mode controller really stays small enough. Meaning you always have to see how it behaves in reality and do some iterations. But if you only do trial and error, you might have a system that works - until it doesn't.
So my question is: What is the most pragmatic approach here? Do some of you have some experience with control design and can you shed some light on this?