Release processes and change control

What are some of the change processes that you guys use to release processes? At one end of the scale you could have a developer publishing to a prod environment when they see fit (uncontrolled), at the other you could have a formal "ITIL-style" change approval board. Some pros and cons of both. Any thoughts?