I will try my best to explain in short.
In OpenGL the target is a specific interface, which can deal with one object of its type at the time. Each target has a set of parameters affecting all its objects, which are stored internally, revealing only their ids. The API never allows the user to directly access those objects, because the wrong pointer can lead to much more damage than the wrong id.
Targets are not connected, so you can use the objects of different types simultaneously. The object id allows you to switch between the objects of the same type while using the same interface. You have to bind the object id to the specific target prior to deal with it, and then unbind it to free its interface, or directly bind another object id to the same target, which automatically unbinds previous object. Note that after binding an id to a target for the first time, the object becomes active, and can no longer be bound to another target. This is the basic concept of the API.
The first line in your code gets the buffer id.
The second line binds the id to GL_ARRAY_BUFFER target, which may by described as setting up internally the Vertex attributes buffer object, or VBO. Now using this id you can refer to a particular internally stored VBO.
Hope that helps!