To speak simply, eco is just change the design on netlist. So that you did not need to make the change from the rtl level.
ECO is used normally for timing closure. After P&R, you may still have some timing issue, such as heavy load, small buffer... then you can manually replace the component. e.g. change the INVERTER with higer driving capability.
For small functional change, ECO can also be used. Normally, there are some spare cells in the netlist. So you just need change the wire connection.
Added after 10 minutes:
Normally we need not special ECO tool, for what we do is jsut manually modify the netlsit. But the net/wire name in may be very long, and it may corss several hierarchy.So it is eacy to make mistake.
nECO, a function of debussy(new name is Verdi, Novas Cop.) is a good tool to avoid such mistake.
PS, sometime you may need to replay lots of component, such as flip-flop, then you'd better write a script(with perl often) to do so.