First we need a primer on I, P and B frames. An I frame is a frame that is a completely independant picture of the frame. It doesn't depend on any other frames and is a frame which B and P frames are based on. A P frame stores only the changes from the previous frame and a B frame stores only the changes in either direction. IPB uses a mix of all 3 frame types in a set sequence to capture video with much lower data usage, but every P and B frame is an approximation of what the frame that was originally captured was. They are not exact.
For the same size I frame, all I will ALWAYS be better quality, however, it could be possible for IPB to be better if the camera has a set limit rate for I frame that could end up with larger I frames for the IPB due to the saved space, but that would depend on the exact data rates used by the camera. The theory behind it would be to say we have all I with 3k per frame (making this number up completely) then we have 30 pictures of whatever quality we can get out of 3k. Now, if the IPB frame, if we had say 1k per frame on average, but the P and B frames are very small, then it might be possible for the I frame to use 5k of data and the P and B frames to use only .5k each and result in a higher overall quality.
This would depend on the quality of the motion and the data rates being used by the camera however. In most cases, recording all I on the camera is probably going to produce I frames equal or larger in size than those in IPB. However, when doing a final output, the highest quality for a given size will almost always be compressing to IPB. All I will also capture fast motion better since the difference between frames will be larger.