Very interesting question.
Well an idea of ideal implementation may vary person to person and organization to organization. Even the implementations with heavy set of customizations can keep functioning smoothly with right set of processes & governance. On other hand lightly customized system can also struggle to perform if configurations/customizations do not adhere to standards.
According to me, some important aspects that should be taken into consideration for implementing or enhancing Dynamics 365 application are as follows.
1. Configuration first approach
Standardize configuration first approach. This is not only for the developers but also for the customers. All parties must understand that more standard configuration you have, more supported, maintainable & stable system it will become. Even if some scenario cannot be achieved through out of the box configurable approaches the preference should be given to see if a requirement can be slightly tweaked to make scope for it. Coding should ideally be your last option to go to.
2. Use of Supported approaches only
Dynamics 365 customizations should follow supported customization methodologies. We should strictly avoid doing unsupported customizations. Unsupported customizations may lead to broken features out of nowhere as well as you wont get much support from the support team in this case.
3. Extend over Create
Many times people end up developing something from scratch that's readily available out of the box. In the process they come across the challenges that may have been already faced and addressed by the product team. For an example for implementing Dynamics 365 for Sales for manufacturing scenario a good starting point is to baseline out of the box Sales hub app and build it from there.
4. Skillset
Its necessary to have right skillset to implement the product. I have seen many times the kind of skillset you bring on board largely affects in what directions things move. Sometimes you get more technically inclined consultants and they may end up writing code for everything as opposed to subject matter experts or power platform developers.
5. Processes
You should have right set of processes to manage the development and enhancement cycles, releases to various SDLC environment's and a solid rollback plan in case of failures. The deployments can start with manual activity to semi automatic and then fully automatic as the confidence in processes grows.
6. Upgrades
It is necessary to upgrade the application on schedule and keep keep it upto date. This makes sure you get an access to all the latest features and fixes. Every time there is release wave from Microsoft, the consultants should test it on your implementation through early access program and prepare for the upcoming upgrades.