FR24 relies for most of the tracks on ADS-B data. Part of the ADS-B transmissions is the position. There are three causes of the behaviour that you observe:
1). Aircraft landing next to the runway
The position source onboard the aircraft is not always GPS. Mainly older aircraft (e.g. Fokker 100) have their Inertial Navigation System (INS) coupled to the ADS-B transmitter. The INS relies not on external radio measurements but only on measured acceleration and rotation to track its position. It is usually correct at take-off, but it develops biases over time and therefore the landing appears quite often next to the runway. I can assure you that this is mostly misleading.
2). Short time track offset
In most aircraft the ADS-B position is from GPS. When the GPS loses its position fix, the system falls back to INS. As described above, the INS position is slowing drifting from the truth during the flight, so the ADS-B track will shortly jump aside to the INS position until the GPS comes back. When short (e.g. 1 position update) the offsets appear as spikes.
3). Long distance jumps (180 NM, 360 NM)
Due to the limited number of bits available in the ADS-B messages, position is encoded in a complex format called Compact Position Reporting. It requires at least two position messages to decode the first position of a track, from that point onward, every message will constitute a position update. When no proper verification algorithms are used in the software, it may occur that a receiver station initializes the track wrongly, usually causing a jump of 180 or 360 NM.
Also note: When INS is used a the position source, the ADS-B data contains an indication that the data is not to be trusted, but that is silently ignored by FR24.