Some of the new HTML5 elements were made by analyzing how people were already using HTML. Especially when an element didn't already exist for what they were doing
For example, A LOT of people were doing things like <div class="footer"> and <div class="foot"> to create footers so a <footer> element was added
Many of the other new elements were created for similarly
You don't have to use them, but if you want to use them, use them when it makes sense to use them (Ex: Use <footer> when you are actually making a footer)
A motivation for these was to add widely understood semantics to your markup. Sure you can add your own semantics by adding classes, IDs and combining existing elements but not everyone will necessarily know what you meant