Extending forms (or views, or something else?!) If creating something like a form, but also perhaps any piece of front-end UI, what is the correct approach for adding things like extra Javascript (or HTML, or anything)? 

I'm putting together a registration form using the Entity Registration module and would like to know if, say, I wanted to have a 'Delivery address is the same as invoice address' checkbox that dynamically hid/revealed the delivery address part of the form, what would be the Drupal way of achieving that?
You could implement hook_form_alter for adding a checkbox field to your form.

The most simple thing to do after that is to handle the display of the form elements with JS/CSS (checked or not). You have to handle the validation of the different submissions of the form (with or without the delivery address part). 

Here you can find a tutorial for adding custom validation to a form.

For the JS/CSS part, you can put your code in the main files of your theme, or add specific files for this form. Check this answer for the second solution.