From what I have read, it seems like forkCount=0 would keep the same VM that mvn is running in for the tests. This could potentially cause issues with mvn process and maybe cause potential inaccuracies in tests. forkCount=1 should start 1 new VM (leaving the mvn one alone) to run the tests in. This keeps mvn and the tests separate.
Something I have experienced that can definitely interfere with test accuracy is the reuseForks property. If set to true, static data or static classes could remain in the forked VM which could effect future tests. Tests run faster though. When reuseForks = false, the forked VM is killed and a new one is started. This prevents any static data issues or bad test cleanup (this is not a great solution if its just bad test cleanup/isolation that is the problem). Tests run slower but more accurately.
Main source: https://maven.apache.org/surefire/maven-failsafe-plugin/examples/fork-options-and-parallel-execution.html