often, FF's will be removed for being constant. one example is a counter that is reset to 0, then incremented by 2 (or 4, 6, etc...). There is no way to get an odd result, so the build tools will realise the lsb is a constant 0. This can then propagate down to other logic, eg comparisons to odd values will be false and comparisons to even values can be done with 1 fewer bit.
For unconnected logic, consider a 32b counter where the only comparisons are to bits 23:8. The 8 lsbs (7:0) would need to be kept because they are used to generate bit 8 (and higher). but the 8 msbs (31:24) aren't used for anything other then generating themselves. They are still connected to each other, and logically valid for simulation purposes, but their removal will not affect the comparison of bits 23:8. As a result the tools may just remove the 8 msbs.