I believe it's there mainly because a function of the same name (except capitalisation) and behaviour is in standard POSIX library. That's also the case for many other functions in the page you link to, like `ldexp`

or `lgamma`

or `nextafter`

.

Speaking of the uses of Bessel functions, they just do come in handy from time to time in mathematical simulations. They are tightly connected with Laplacian problems with spherical symmetry, which relates to physical models like that of an ideal circular drum, quantum mechanical model of hydrogen, or sidebands of a FM radio signal (all heavily simplified in this list). A value of a Bessel function is a denominator of von Mises distribution, which is a well-behaved probabilistic distribution on a circle or a sphere, that's also super useful. There are many more, these are just first ideas that came to my mind.

Speaking of motivation, in a way *J*₀ is the next best-behaved special function after the exponential. In calculating an exponential one sums a power series weighted by an inverse factorial. For *J*₀, it's basically the same with the inverse factorial *squared*. If there's enough justification for a cosine or for erf, there's just as much for that, too. In a few words it's just a function that's sufficiently simple to be quite ubiquitous in mathematics, and there's enough programmers of C-like languages that came there for high-performance computation to actually make some momentum in laying out the standard.