You get a specific Target value when you divide the maximum Target by the Difficulty.
But when you convert the Target in to the Bits format, you're only taking the first 3 bytes of the Target and losing some accuracy.
Original Target: 0x696f3ffffffe0c000000000000000000000000000000000
Target -> Bits: 0x180696f4
Bits -> Target: 0x696f4000000000000000000000000000000000000000000
So when a Miner is trying to get a low enough hash value for the block, are they trying to get below the Bits value or the Target value?