Hi,
you can find details here[1], that should explain the principle. Basically, whenever you update an OSGI configuration parameter it gets saved to the repository so it is available even if you restart the instance(i.e. unlike if it were held in memory). In the article, the readProperties method is getting the values held within nodes specifically created for the service.
This is the standard approach, as you can then use runmodes to setup the configuration for your OSGI services per instance. [1]
Using @Property is used to affect the behaviour of your service, with access to changing the configuration being done using the Felix console, so only a user with the appropriate privileges being able to make changes.
So the article is using @Property to define a property that a user can change in the OSGI Felix configuration console, when the service is initiated by the OSGI container, the activate method is called, at this point you initialise your service, hence loading the properties.
More details on using activate[2]
Regards,
Opkar
[1] http://blogs.adobe.com/experiencedelivers/experience-management/osig-config-101/
[2] https://thecarlhall.wordpress.com/2011/02/04/when-to-immediately-activate-an-osgi-component/