I'm currently working with tolecar on the app we are developing.
I think you were actually pretty close to the answer.
exposureCompensation is a setting that allows novice photographers or people who don't know photography theory to take darker/normal/brighter images. exposureCompensation, when set, manipulates the ISO and/or shutter speed values in order to achieve what one wishes to do, e.g., setting the exposureCompensation to 2.0 will have the camera manipulate the ISO sensitivity and/or the shutter speed in such a way that it takes a really bright image, and vice versa.
Setting the exposureProgram to manual tells the camera that the ISO and shutter speed settings take precedence over exposureCompensation – it's like trying to have both a manual and auto mode on at the same time.