Moonbeam will only deal its damage once per round, unless forced movement (such as grapple/shove) push a creature into the affected area. The impact of a creature leaving the affected area is that the caster must then use their action if they want to keep that damage going.
By contrast, Flaming Sphere can deal its damage twice per round, if creatures fail to move away from it. A creature that keeps moving away ends up taking less damage, but the caster will typically end up using their bonus action to ram with the sphere either way.
This tends to make Flaming Sphere better for forcing creatures to leave an area (or dealing heavy damage when they can’t leave), while Moonbeam ends up dealing more damage consistently but is less effective for area denial. In keeping with that, Flaming Sphere will normally only damage one creature / round, while Moonbeam can hit multiple creatures, but Flaming Sphere threatens a larger area.
Dust Devil won’t normally deal any damage, unless a creature is unable or unwilling to move away from the affected area. This makes it almost purely a control-based area denial effect, but couple with the forced-movement aspect it is arguably even better than Flaming Sphere in that regard.
If Flaming Sphere hit every creature within 5 feet at the start of their turn, it would be a considerably stronger spell, reliably hitting multiple creatures instead of just one.
If Moonbeam only triggered when cast and at the end of turn, creatures would move out of the area each time it moved, taking no damage. If it also dealt damage when moved by the caster, it would provide a much stronger incentive for the affected creatures to leave if possible, making it a stronger control effect.