Just like Oded said, I found out that it must have been there for backward compatibility as I couldn't found it in 2.0, 3.5
I think the overloaded started in 4.0
- Path.Combine 4.0 - If you look at the right navigation, you'll see the overloads
As for the other many overloads, I wouldn't speak for .net team, but I feel they feel is pointless increasing the overloads every time so they stopped at 4 and provided an Array of string for more than 4 string combinations - which I think is wise
I based my explanation on Lambda expression where the team stopped at 16 arguments
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
Path.Combine could have been like that but is pointless.