The problem is that some third party kernal extension (kext) files are incompatible with El Capitan.
Step 1: Get a verbose debug to identify the problematic kext. Hold down Command-V when rebooting, or Command-S for single-user mode. Look for the kernel panic stack trace, and find the kext causing it. In my case it was SyncMate
Step 2: Get to a terminal prompt. One way to get to the terminal is in Recovery Mode (hold down Command-R after powering on). Go to utilities, terminal.
Step 3: Hit Google with the name of your problematic kext, along with "el capitan boot" as keywords, and find the command to remove it. Many posts are on apple developer forum, use the cached view instead of logging in. In my case the command was
rm -R System/Library/Extensions/Eltima*
Step 4: Reboot. All is well.
Alternate version:
Step 1: Reinstall OS X. It works the first time.
Step 2: Type kextstat -l | grep -v com.apple
Step 3: Find where all those are in either /System/Library/Extensions, or in /Library/Extensions
Step 4: temporarily move ALL to another folder
Step 5: reboot. On success, begin moving them back one at a time from the temp folders. Repeat until you've identified and removed the bad ones.