Keep in mind that just because the simulation doesn't report any errors, doesn't mean you got the correct solution to the problem you are solving. Sometimes, the reason for that deviation might just be a spatial step that is not small enough.
If the spatial step is too big, you might not correctly catch your solution's gradient. The deviation of the solution you got might be unacceptable. The way to check this is usually easy. Once you have done the simulation using a coarse spatial mesh, do it once more with a finer spatial mesh. If the two solutions don't nearly match and both of the solutions are stable, then the spatial step was too big in the first simulation.
Also, depending on the exact problem you are solving, there may be spatial step restrictions. For example, if you are solving a hyperbolic PDE, with initial or boundary conditions that contain high-frequency modes, the solution might contain dispersion which causes the simulation to be useless. Here is an example of such a problem where both the spatial and time steps were restricted in order to get a usable solution. Namely, the group velocity had to be equal to phase velocity which restricted the CFL number to the value of one, allowing one to derive the exact restriction formula for the step size. In fact, it gets worse if you are solving a PDE with two spatial dimensions because of numerical anisotropy. In that case, not only the spatial step needs to be chosen carefully, but the discretization scheme as well.
This shows that restrictions to spatial step size can definitely exist. It should be chosen to fit the problem you are solving.