Visualforce provides two primary ways to perform AJAX-style operations: JavaScript Remoting and Remote Objects. The primary benefit of JavaScript Remoting (Option A) is its ability to execute complex server-side logic.
JavaScript Remoting works by calling an Apex method annotated with @RemoteAction. Because this is a standard Apex method, it can perform advanced calculations, complex SOQL queries with multi-object joins, DML operations across various objects, and even call out to external web services.
In contrast, Remote Objects are purely declarative. They allow you to perform basic CRUD operations (Create, Read, Update, Delete) on a single object directly from JavaScript without writing any Apex. While Remote Objects are easier to set up for simple data entry, they cannot handle "business logic" (like calculating a discount based on customer history) during the data retrieval process.
Option B and C describe Remote Objects, not Remoting. Option D is a feature of standard Visualforce tags like , but not a specific differentiator for Remoting. Therefore, when your application needs "brains" on the server, JavaScript Remoting is the superior choice.