Why does UV node output float4 instead of float2?

The output port of UV node is a float4, instead of a float2.

But why? Isn’t UV naturally just two dimensions, namely U and V? What do the other two additional dimensions do? When should I use them?

I think that’s because the output gives you tiling X, tiling Y, offset X, offset Y.
You can ignore the part you don’t need and process the part you need, it should be fine.