Here’s a straightforward function of two variables, x and y:

Its domain is all real x and y, with the single exception of x = y = 0, which would make the denominator 0. But we have experience with functions such as sin(x)/x, where we can find the limiting value as x approaches 0 and just make a fiat declaration that that limit isthe value of the function at the origin. Can we do it here?
Well, let’s just tabulate the value of f(x,y) for different values of x close to 0 and see what happens:
f(0.1, 0.1) = 0.0990099
f(0.01, 0.01) = 0.009999
f(0.001, 0.001) = 0.000999999
This suggests that if we just define f(0, 0) = 0 then we’ll have a continuous function. But there’s a nagging question – we just approached the point (0, 0) from the line y = x. What if we approached from (say) y = 2x?
f(0.1, 0.2) = 0.344828
f(0.01, 0.02) = 0.0399361
f(0.01, 0.02) = 0.00399994
So far so good. But we’re really paranoid people. What if we want to approach the origin from every single linear path and see if anything comes out weird?

Which, I assure you, will approach 0 as x -> 0 for any m you care to name.
Maybe we’re sufficiently convinced by this that we’re ok to just declare that the limit of f(x,y) as x and y approach 0 is 0. But maybe we’re just not paranoid enough. Dale Gribble might come up to us and say “That’s just what the feds want you to think. I bet if you approach the origin from the parabolic path x = y^2 then you won’t get 0 as the limit.”
We can try it out:

Oh geez, Dale is right. The path of approach to the origin does matter, and so the limit does not exist. Let’s take a look at the graph:

There’s a parabolic ridge and a parabolic canyon along those contours. Approach via those veatures and you never start descending. Approach via a straight-line path to the origin and sure enough you’ll start vertically descending toward (0,0,0). A contour map might help clarify:

This illustrates something that’s actually a serious pain in real analysis, the formal name for the study of functions involving real numbers. Real functions can be very weird animals in general, and you have to worry about seemingly straightforward limits not existing and directional derivatives behaving very badly. Perhaps counterintuitively, in complex analysis (the study of complex numbers) this sort of thing is actually much easier. The real and imaginary parts of complex functions are tightly bound together in a rather profound way that makes working with these limits and derivatives much easier than in the case of purely real numbers.
Go figure.