There are no accidental forks mate, software doesn't accidentally update itself on different machines to create such forks, who would attack a blockchain
Unfortunately that isn't true, otherwise cryptocurrencies would be a much simpler technology than they are now. We would have no 51% attacks and no "Nothing at Stake" problem, so we could rely on the blockchain principle alone and would not need even "Proof(s) of Work" or "Proof(s) of Stake". It is a consequence (or better: an example) of the
CAP theorem.
Accidental forks can happen if, for example, a region has higher latency with respect to nodes from other regions for a prolonged time. The "Great Firewall of China", for example, can lead to such situations. Or let's say we have a cryptocurrency with several users in Norway and others in Australia and nobody in-between. That would mean that nodes in one region can follow a certain fork for several blocks. If more hashpower is on the other chain, then, when the irregular situation ceases, there will be a reorganization and the whole fork will be orphaned.
This is more likely in Proof of Stake currencies because these have no objective "longest chain rule". Although even in these currencies, it is unlikely that a fork lasts for a long time if there is no ongoing attack.
@gustav: A correction to my previous post: -printblocktree only works in currencies based on older (<0.10) Bitcoin versions. There is however a RPC command called "getchaintips" that should show all chains. It does not even need debug.log. I however don't know in what Bitcoin version it was introduced and in what alt-currencies it is available.