Trigger Performance : Is Using Trigger is a good way?
Personally, I would use triggers for auditing.


If they fail, then the main DML gets rolled back
(same) The main update requires the DML to succeed
A table will typically have several DML paths
You may not be able to use code
You will have direct table update that bypass code at some point


Ok, so we'll use triggers. Some notes


Ensure they work for multiple rows: no CURSORs or loops
Use them only for auditing: nothing else (no, say, sending emails)
Ensure you use TRY/CATCH in the triggers: this massively improves the behaviour on rollbacks in triggers
CASCADE foreign keys will cause child table triggers to fire: Beware nesting and recursion and don't use CASCADEs if possible


This last list also addresses sonme points in @NevilleK's answer. Triggers are one tool to use: use wisely and when appropriate and correctly.

600 updates per hour is trivial, not a problem at all for triggers (subject to cursors, loops, sending email and other stupid stuff)