Why do we need a flip-flop in this circuit?
I mean...you don't technically need a clock, but if you decided beforehand you want to use a clock then you would need the flip flop.
Why would you want to use a clock? It makes timing and synchronization in system easier to control and more predictable which makes it easier to design and test for. Really important in a large, or even moderately sized system.
Flip-flops are the quintessential edge-triggered logic. Along with the fact that they have memory, this makes them the gate-keeper component that can block when there is no clock edge, sample signals on the clock edge, and preserve the output signal away from a clock edge. Flip-flops allow the the clock control the flow of signals from one component to the next.
In your example, if you did not use a clock and removed the flip flop you would be relying on the propagation delay in the wire from the output of the 3x block to the input of the mux. If you're lucky, it would continuously multiply at an insanely fast, uncontrollable speed. If you're not lucky it would try and multiply when the signal at the input was at half transition and give out garbage over and over again.
To slow it down you would need a really long wire to delay things which introduces other issues and is precarious. Or, you use a flip-flop controlled by a clock regulate when the output gets fed back to the input.
For more information, look up &quot;synchronous vs asynchronous design&quot;.