custom.module vs template.php
There are two things I try to keep in mind when making this decision.

Is this a functional feature, or a purely visual one?  Functional components go in modules.  Purely visual ones go in the theme.

What happens if I alter or radically change the theme down the road and/or allow multiple themes for my site?  If you don't want to replicate the feature, then it should go in a module.

Drupal does make it easy to intertwine content, business logic, and presentation.  For the long term maintainability of a site, you really need to be careful when you implement things.

A good rule of thumb is that a theme should not need to know about IDs ($nid, $uid, $tid, etc) for anything, and should only need to know machine names to alter visual appearance.

In your case, adding a form to a node is a functional change, and I would really put that in a module.