You need this to ensure the Standby database contains everything that occurs in the Primary database.
If it helps, think of Data Guard as 1 database with two pieces in different modes. One side is always in Primary mode. Therefore the Standby needs to be an exact copy of whichever side is Primary.
Because if the database is in the force logging, everything will go in the redo logs which will be used to apply changes on the standby databases and keep both databases is in sync.
If there is no force logging and you insert data with nologging option, it will not go into the redo logs and hence it wont be applied on standby . Your both databases will be out of sync.