- The biggest reason is the need for misfire detection.
The best way to tell if the crank shaft is speeding up and slowing down more than it is supposed to is to directly measure its speed. This is how misfires are detected. It is because the timing chain or timing belt always has a little give and this can obscure the movement of the crankshaft from the camshaft position sensor. Further because the crank shaft is spinning at twice the speed of the camshaft the signal is of a higher resolution.
Until Honda went to coil on plug. The ignition and fuel injections systems were run from sensors inside the distributor. Since the distributor is driven by the camshaft it is effectively a camshaft position sensor.
- A secondary reason is legacy.
When the switch over form distributor to distributorless occurred the crank shaft position sensor was used as the pick up for timing. Manufacturers that dumped distributors in the late 80s didn't always pick up a camshaft position sensor right away. It was when they went to sequential fuel injection that a camshaft position sensor was actually required.
- A third reason is variable valve timing.
Any variable valve timing system that uses a cam phasor requires both sensors. By using a PWM solenoid the position of the phasor is infinitely variable through its travel. To keep track of where the phasor is in relation to the crank shaft both sensors are needed.