How to explain the outcome of k-means clustering?
I made some similar studies on process descriptions on computers. The main difficulty was to discard words that were not meaningful. Which is hard because:


Some words appear in every clusters, but in different proportion. They should not be discarded, like "pilot". It is normal that "pilot" appears often, but depending on the number of occurrences it might signify that the pilot made a decisive action for the accident.
Some words appear very rarely, but they are the key words for the reason why the accident happened. Then it is very hard to find a way to give them more importance without adding direct prior knowledge to your clustering.


What I could suggest is:


First try different k value. Why did you chose 3 ?
Try a different algorithm for 2D visualization. For example t-sne is good for reducing high dimension in 2. Look at the examples here http://scikit-learn.org/stable/auto_examples/manifold/plot_lle_digits.html#example-manifold-plot-lle-digits-py
Try working directly on your word occurrences to check whether your word differ between clusters. For example, you can compute the KL-divergence of each word for each cluster given their global distribution. See here https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence
If you can't get good results, think of another way of vectorizing. For example word2vec is good at finding words that occurs often together and could be more suitable to your case.