A common way of explaining this is to say something along the lines of “Dividing means splitting into groups, and you can’t split something into zero groups.” The problem with that explanation is that it doesn’t really make any sense to divide something into half a group either, but you’re allowed to divide a number by 1/2. You can even divide by negative numbers and complex numbers. Why is zero so special?

Here’s how I think about it. Don’t think of dividing as splitting into groups. Instead, think of division as being the inverse of multiplication. What that means is that if x/y = z, then y*z = x. Here’s a specific example: 12/3 = 4 ⇔ 3*4 = 12

That means, if you try to solve 5/0 = x, then you need to find some number such that 0*x = 5. But there is no such number. 0 times any number is 0.

What about 0/0? 0/0 = x ⇔ 0*x = 0. The problem with this equation is not there is no solution, it's that there are infinitely many solutions. If you say that 0*5 = 0, so 0/0 = 5, you can also say that 0*7 = 0, so 0/0 = 7. But that would mean 0/0 is equal to both 5 and 7, which means 5 and 7 are equal to each other.

The way we handle that is by simply declaring that division by zero is undefined, meaning that you’re not allowed to do it.

Now, if you know what complex numbers are, you might ask why can’t we just define 0/0 to be some new number like i? Well, you can do that, and there are some number systems that do, for example the projectively extended real line and the Riemann sphere. The problem you run into is that when you do this, you end up breaking other useful properties. For example, in the standard number system, addition is defined for every pair of numbers, but not in the projectively extended real numbers.