why surface? or rather, why texture?

Hi all,

a few questions about texture/surface.

Why the distinction between read-only texture and read/write surface?
Why is there not only surface?
Are textures faster when reading?

Would it be possible to interop an opengl texture to a cuda surface?
Do the cuda texture and cuda surface use different cudaArray representation?

Thanks!

– pium