Most answers so far rest on significant misconceptions about the nature of computation. I'll try to address these from a mathematical / computational perspective, and then we can come back to physics at the end.
Misconception: computation implies purpose or agency
Several answers include a line like "things happen because they happen", which I read as an abbreviation for "computation implies purpose or agency, which the universe does not have".
Computation, as studied by computer scientists and mathematicians, implies nothing of the sort. Computation is simply the processing of information according to determined (but not necessarily deterministic) rules. For example, the cellular automata mentioned in Cort Ammon's answer are computational processes, which are fully characterized by their mathematical definitions, independently of any electronic or other physical implementation.
Misconception: computation cannot handle infinite or continuum-sized structures
People who have worked with computer algebra systems may remark that (physical) computers can handle exact symbolic manipulations involving $e$, $\pi$ etc. But there's a far more literal sense in which computation using real numbers and their relatives is meaningful.
Think of computation on bit streams: you're provided a stream of bits as input, and asked to produce a stream of bits as output, where each new bit of output is determined by some computation on the input bits that you've received so far. Since at each stage you only need a finite amount of input to produce a finite amount of output, you can do this using "ordinary" finite computation. But the result looks like you're computing with an infinite amount of information: for example, you can add, multiply etc. arbitrary real numbers in this manner. This approach is called Type Two Effectivity, and it's been an active area of research for decades now.
The same idea applies to all the structures and processes that we care about "in applications": differential equations, stochastic processes etc. are all essentially computational in nature, which is what allows us to solve them in the first place. Even apparently discontinuous phenomena such as measures and distributions are more properly defined in terms of continuous maps between "hyper"spaces of open, compact, etc. subspaces, and can therefore be handled computationally.
A common philosophical objection here is that any finite computation can only handle finite approximations to these infinite objects. But I think most people working in this area would respond that if every infinite object we care about can be presented as an endless, converging sequence of finite approximations, and our finite algorithms can transform these into other sequences which converge to the correct output, then whether we're "actually" computing with infinite objects becomes a matter of mere semantics. For all practical purposes, we are.
The scope of "computational processes" is far broader than is often imagined. If a process is well-defined, such that its behaviour could be tested against an appropriate model (even if that model is not known) then it can be interpreted as a computational process. This includes processes with parameters, and even entire families of processes where the parameters take on every possible value in some domain.
It does not include so-called "supertasks", such as "toggling a binary switch infinitely many times then checking its state at the end", precisely because their behaviour is not well-defined. But it does include "continuum-sized" processes such as differential equations, as long as their behaviour is not so irregular that it simulates a supertask. In particular, it includes any process that can be modelled and tested / predicted in principle, even if in practice the appropriate model or tests cannot be found or carried out.