Almost any real estate site will show properties differently to agents, buyers, sellers and visitors.
Use Toolset Access plugin to control who can access different parts of the WordPress admin and front-end pages.
For sure, you should limit access to account pages, which allow agents to manage properties. You can also display properties differently to logged-in buyers and to visitors, to encourage people to sign up and become leads.
If you allow access to the WordPress backend, you definitely need to create different roles for different people. Usually, you'll have a custom role for agents, so you can grant them the privileges that they need (but not more).