I think you have the right idea for ODR. If you look earlier in the datasheet, it defines ODR as Output Data Rate.
For what it’s worth, here are the gyro settings we use in our MinIMU-9-Arduino-AHRS example code and it works fine for that application:
gyro.writeReg(L3G_CTRL_REG1, 0x0F); // normal power mode, all axes enabled, 100 Hz
gyro.writeReg(L3G_CTRL_REG4, 0x20); // 2000 dps full scale
The first page of the datasheet says there are “integrated low- and high-pass filters with user-selectable bandwidth”. So basically it sounds like there is some range of frequencies that the sensor selects and it filters out everything outside of that range.
Table 27 talks about the high-pass filter cut off frequency (i.e. the lowest frequency that is allowed to pass). Therefore the cut-off frequencies listed in Table 22 are probably referring to the cut-off frequency of the low-pass filter (i.e. the highest frequency that is allowed to pass). The units are probably Hz. I don’t know much about this stuff, but it seems to me like you should think about the highest frequency present in the signal you are trying to measure and then choose a cut-off frequency that is above that.
For anyone else reading this thread, I just wanted to add that DR1, DR0, BW1, and BW0 are four configuration bits that you can set in CTRL_REG1 register. You can read the datasheet to find out more about that register and the bits in it.