I am a newbie with the rules engine, so bear with me if this question is very basic. All the tutorials for rules engines have been saying that you can move your business logic outside your code and get it updated by BAs/ end users instead of putting it inside Java code.

I have the following questions 

1. But why can't we write our code to read values from property files and do the same thing?
2. Also, the rules files seem to have a syntax which is not simply one-liners, compared to .properties files.
3. Does putting these rules in Rule engine make the code/app work without requiring an app server restart? 

3a. If it does NOT, then how can we achieve it?