My SQL agent service would start and then immediately stop unexpectedly -- this is after running a repair of my SQL installation.
I took the advice given here: http://support.microsoft.com/kb/288577 and tried to execute SQLAGENT.EXE from the command prompt, and started down the path of troubleshooting the error message.
It wasn't until (much) later that I thought to try using runas to run the command as the user that the Agent service is configured to use.
Then, when I ran the command SQLAGENT.EXE -c -v, I got this helpful message:
2010-10-13 20:03:17 - !  Startup error: Unable to read SQLServerAgent registry settings (from Software\Microsoft\Microsoft SQL Server\MSSQL10_50.TFS\SQLServerAgent)
After changing the permissions there, everything is working great.