Someone really asked a question quite recently what I answered using the Zip extension method, so it is obviously important to some people.;)
In fact, this is a rather important operation for mathematical algorithms - matrices, curve fitting, interpolation, pattern recognition, such things. It is also very important in technical applications such as digital signal processing, where most of what you do combines several signals or applies linear transformations to them - both of them are based on the index of the sample, hence zip. Replacing two sequences is far, much faster than sorting and combining them based on some key, especially if you know in advance that the sequences have the same number of elements and are in the same order.
I cannot go into details in connection with my current work, but, generally speaking, it is also valuable for telemetry data - industrial, scientific, of this kind. Often you will have time sequences of data coming in from hundreds or thousands of points - parallel sources - and you need to collect, but horizontally, through devices, and not after some time. In the end, you need a different time sequence, but with the sum or average or some other aggregate of all the individual points.
This may seem like a simple sort / group / join in SQL Server (for example), but in fact it is really very difficult to do this way. Firstly, the timestamps may not match exactly, but you do not need a few millisecond differences, so you have to generate a surrogate key / line number and a group on this - and, of course, the surrogate line number is nothing more than a time index that you already had. Zipping is simple, fast and infinitely parallelizable.
I do not know if I will call it fundamental, but it is important. I donโt use the Reverse method very often, but Iโm glad that I donโt need to write it myself on those rare occasions when I find it in need.
One reason you might find it inappropriate is that .NET / C # 3.5 does not have tuples. C # 4 has tuples , and when you work with tuples, zipping is really a fundamental operation because ordering is strictly enforced.