This seems to work on most kids. Mine, not so much. 4 hours of screaming and she refused to go back to bed. She was so tired but she was forcing herself to stay awake. She has a very strong personality. We just ended up getting lucky I think because around 1 she just settled down and began to enjoy sleep. Now at nearly 3 she will go to bed at 9:30 and sleep till 8:30 the next day. She only wakes up in the middle of the night about once a month and all we do is take her back, tuck her in and she goes right back to sleep.
I credit a tight night time schedule and persistence to much of her sleeping habits. The key is to take action early on and don't let them get into the bad habits/routine. Kids need structure and it can really cut down on the headbutting.