What does obd code p0300 mean?

Random/multiple misfire.

P0300 Diagnostic Code - Random Misfire

Symptoms.
Engine may stumble or miss
Engine may be hard to start
you may notice no issues

Cause
Failing spark plugs or spark plug wires
Bad coil or coil pack
Failing oxygen sensor(s)
Bad fuel injector or more than one
Stuck exhaust valve
Bad catalytic converter
EGR valve or valve passage clogging
Bad camshaft position sensor
Bad PCM or ECM

The Fix
Best first action is a tune up, new plugs, wires, inspect all hoses and wire connections then reset the code. If it returns you will need to narrow it down to a system, coils and coil packs should be tested, catalytic converters for function ( do you smell rotten eggs?). A misfire that jumps cylinders could indicate a lean condition, do you have any other codes along with the 300? this will help clue you in to the source, check valve function to make sure they are opening and closing fully.
This is probably pone of the most difficult codes to troubleshoot, so start with the basics and work your way into the more expensive options, in many cases a good old tune up solves the problem, back it up with a fuel system cleaning and see where you stand.

Random/multiple misfire.