I found the below circuit to wire a MOSFET with Arduino. What I don't get it why is Arduino GND also connected? I tried starting the motor without connecting the arduino GND and it starts fine.
During startup of your arduino (and when it has no power supply) the ouput is undefined.
The resistor holds the gate low and prevents that the motor starts running during that period.
For a hobby car, that may not matter, for an elevator it does matter...
More generically, it is very rare(and usually, wrong), for any circuit to have an 'unclosed loop'. Without connecting the Arduino ground, the Arduino output signal is not referenced to any potential, so it cannot bias the gate of the mosfet.
The answer is simple but a bit obscure. The MOSFET is turned on by a voltage from Gate to Source, positive with an N channel device. The Arduino puts out about 5V on the port. This 5V referencing ground needs to be connected to the reference of the MOSFET, the source pin, hence the grounds are connected.
You have a major bug that is all over the internet, the pull down resistor R2 belongs on the port side of the gate resistor R1. The way you show it is is a voltage divider reducing the gate drive voltage. The gate is now seeing about 4.7V instead of 5.
Guys I just realized, I have a sensor also working in the system and powered by the same power supply, this sensor is attached to Arduino GND, so that completes the circuit for the MOSFET as well.
I didn't get that description, can you draw it in schematic?
that shows why a complete schematic is important.

