for example.
/execute @a ~ ~ ~ detect ~ ~ ~ torch 0 say hi dosen't work even if the player and the torch overlap.
Other items I checked that can't detect with command.
redstone_torch
end_rod (detect ~ ~-1 ~)
tallgrass
wooden_button
stone_button
lever
Invalid. Standing torches have a data value of 5, not 0.