(implicit <reg>) vs. Defs = [<reg>] in InstrInfo.td

When describing implicit register definitions for instructions in the
InstrInfo.td file of a back end, what is the difference between using an
'implicit' node in the Pattern versus initializing the 'Defs' field?

One difference seems to be that an 'implicit' node only comes into
effect when the instruction is matched through the instruction's Pattern
field. If the instruction is used in an external pattern, the 'implicit'
node is ignored. Is that right?