PS3 controllers need to be told over USB the BT MAC address of the host device. You need root because the Sixaxis app, which is the only app that will pair a PS3 controller with an Android device. You can pair it using a tool on the PC, but you still need to Sixaxis app for it to talk to.
Other, non PS3, bluetooth controllers work without apps. A wired Xbox360 controller might work if the device supports USB Host.