OpenGL compatibility, naming conventions and ARB vs EXT
Question 1 -- Usually the EXT version comes first as a collaboration between two or more vendors. ARB extensions require more discussion among voting members of Khronos and can have changes from the EXT version before getting approved. See the GL_ARB_direct_state_access extension which has many changes compared to GL_EXT_direct_state_access.

Question 2 --
The Issues section of the GL_ARB_framebuffer_object extension states why the functions do not have ARB suffixes:


  (8) Why don't the new tokens and entry points in this extension have suffixes like other ARB extensions?

   RESOLVED: Unlike most ARB extensions, this is a strict subset of
   functionality already approved in OpenGL 3.0. This extension
   exists only to support that functionality on older hardware that
   cannot implement a full OpenGL 3.0 driver. Since there are no
   possible behavior changes between the ARB extension and core
   features, source code compatibility is improved by not using
   suffixes on the extension.



Question 3 --
If you want to use framebuffer objects on a context where the GL version is less than 3.0 you need to look at the extension string:


If GL_ARB_framebuffer_object is supported, use the non ARB functions.
If only GL_EXT_framebuffer_object is supported, use the EXT functions.
If neither extension are supported, you need to fall back to OS level offscreen rendering like pbuffers.