Aura:If vs Styling to show/hide content

The benefit of aura:if is it does not even create the content inside its block if the conditions are false, thus it can help you make lightweight applications.

Hiding a div via CSS will still create the block and thus I feel, it will be bad for performance.

According to Salesforce docs

Using the aura:if tag is the preferred approach to conditionally display markup but there are alternatives. Consider the performance cost and code maintainability when you design components. The best design choice depends on your use case.

https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/components_conditional_markup.htm?search_text=aura:if