We recommend that you deploy using requests for the following reasons:
You can group all files together in a single parent request and promote and deploy the request through the GSL. Grouping ensures that all the items related to a change are progressed through the lifecycle and development areas together and no items are left behind.
Refactoring is only fully supported by requests.
Although you can deploy items there are a few disadvantages, most notably no grouping. For example, if you change multiple files, without a parent request you have to remember to always keep the files together when you move them through the GSL. This method is very error prone as it is easy to forget to promote and deploy some files.
You can deploy baselines, however there are a number of limitations:
A baseline that contains refactoring changes does not apply the changes to deployment areas.
You cannot create a baseline from a deployment area, but you can build the area.
You cannot promote, demote, deploy, or rollback non-release baselines.
You can only promote, demote, deploy, and rollback baselines from root projects (sub-projects are not supported).
A baseline cannot be deleted if it is currently promoted beyond the first stage in the GSL.