Question: I have use case 
-There are 2 CMS banner components(C1 and C2) ;of which only one needs to be displayed based upon the customer Loyalty status.
So say if a person is a gold member component C1 should be displayed on the home page while if the customer is a platinum member component C2 should be displayed.
I am aware that this feature can be achieved by Smart edit ,but there are few other rules which needs to be triggered in both cases in terms of what data would be rendered in C1 and C2 based upon those business rules.Is there any documentation that is available which could help me create the rules and associate it with the coms component or if someone can share any other approach of achieving the same.

Answer: 
Why not use CMS Restrictions? Evaluate if the component should be displayed in a CMSRestrictionEvaluator. Then populate the respective data in a controller/renderer.
Using promotion engine is quite costly. It's not really performant so you should not use it to achieve this kind of behaviour.

You should go with [Personalization (based on SmartEdit)](https://help.hybris.com/1808/hcd/bf181fa9fb4149f7902da9e072e0e6f1.html)