I need to change the behavior of the addtocart button (add a popup based on a product specification) and change the behavior of the shipping address section of the checkout.
For these two interventions, do you recommend creating plugins or intervening directly in the core code?
AddToCart and Checkout are two sections that you would recommend extending through plugins? IMiscPlugin plugin?
You can achieve above mentioned things using plugin but yes, it will be best to customize code because it will be less time consuming and you will have more control over your customization.
But, when you customize code, it is recommended to add some signature so you could know which parts you have customized when upgrading to newer version of nopCommerce.
Hope this will help you. Happy coding :)