Iterate Collection delivers the elements of the collection. A for loop is more comparable to the Range node, where the output port Range would be the iterated value (x). Loop Carried value is a generic loop body that can be used for any kind of iteration.
Comparisons between code and nodes quickly break apart, the two really work differently. I.e. you can't end an iteration in code more than once, in nodes you can.