Commands in the form /execute testforblock do not update comparators correctly
i.e, suppose you wanted to check whether the nearest player was standing on grass or not. One way that would make sense would be a command block with the command "/execute @p ~ ~ ~ testforblock ~ ~-1 ~ grass". However, any comparators sticking out of a command block will be powered no matter what: the game only checks whether the execute command succeeds, not the testforblock.