They're definitely two different kinds of loops. However the text for and foreach may be used to introduce either one. The actual loop-style is determined by what follows.
Which, seems to me, answers the question:
What is the difference between for & foreach, exec & system
as "for & foreach are aliases - there is no difference. They both introduce either a for-style loop or a foreach-style loop, determined by what follows."
Methinks you're getting a bit bent out of shape over someone agreeing with you. Either that, or I'm completely missing your point.