Foever Block vs Run In Background

HI

I am starting to code a very simple invaders type game that uses a rotary encoder as a controller & an external Neopixel matrix as the display …

I have code that constantly updates the position of the base / enemy - currently its in a couple of FOREVER block

I am wondering what would be the pros/cons of using the RUN IN BACKGROUND block instead - would anyone be so kind as to explain what the difference is between these 2 ways of running code?