Default Azure DevOps Agents are good for general build environments, such as below:
You can get details of the environment by select the item and click the Details tab:
Comparing this offering, self-Host agent is convenient especially your projects have specific SDK dependencies or deployment targets are in-house.
Below guidelines are based on my experiences on Continuous Integration/Continuous Deployment Centennial hybrid Desktop apps (UWP, WinForm, .NET Core 3). which should work for most similar tasks requirements.
If you want to run this Agent as a Service, please open powershell as Admin permission, otherwise you can run run.cmd directly to read job running status in Window, such as:
Once the Agent is running, it will read environment info on the Agent host computer and will connect to Azure DevOps Pipelines from HTTPS. You may want to open this outbound connection in case there is some firewall blocked there. Refer to: