If more CPUs are applied to a parallel program than can be kept busy given that program, the excess CPUs are prevented from doing useful work by contention.
Contention results in wanton consumption of CPU time for BusyWaiting (perhaps in the form of SpinLocks?), and lots of blocked processes and/or context switches for BlocKing? (perhaps in the form of SemaphoresForMutualExclusion). Either case results in poor SpeedUp.