This is an important question, because once you start writing code you need to put in place a commensurate framework, methodology and platform to support it. For instance, you may need multiple environments for development, testing, staging and production. You may need version control for code as well as documentation.
If you choose to go the No Code route, you may need to compromise the complexity of your business rules and change the way you work to suit the product better. You will also have to settle for a bit less automation of some functions that could be streamlined through code. For instance, if you are determined to assign Account IDs that are a combination of the abbreviated customer name, state and date that they became a customer you will need to write some code. Integration with other systems such as inventory or timesheets nearly always requires writing code. Complex field derivations and validations require coding.
If you are a do-it-yourselfer and not a programmer, and you want to implement Dynamics CRM on your own, try not to take on more than you can handle in terms of custom code.
Third party plug-ins can extend the capabilities of Dynamics CRM without forcing you to write and support custom code of your own. You can purchase plug-ins for reports and calculations or for functions such as sales tax calculation.
Be sure to consider where you stand on custom coding in your implementation of Dynamics CRM.