Problem Statement:
Why do we need IP addresses in the first place as we already have ample amount of unique Ethernet addresses.
Reason:
Ethernet addresses are unique physical address whereas IP addresses are unique logical address across the world. So, grouping of machines under a single sub-net is very easy compared to Ethernet addresses. Machines can be added/removed easily in sub-net consisting of machines having logical IP addresses.
Also, for each group of IP addresses, it is easy to enforce restrictions. ISPs know which set of IP addresses is allocated for which country and so, it becomes easy for them to block certain contents.
Also, as mentioned in https://www.quora.com/When-a-MAC-address-itself-is-unique-why-do-we-still-need-an-IP-address-to-uniquely-identify-a-system-on-a-network, it is easy to build routing table based on IP addresses as MAC address contains no information about machine's location.