What are the various files types in Actel (Microsemi) Libero?
Partial answer... there are quite a few I don't know, and Libero has decided to segfault when I start it tonight...


bfm: Source file - keep under version control. Bus Functional Model script which you write in their ad-hoc language, compile into a .vec file, which is read and executed by a testbench instantiating their VHDL BFM models.  
cfg: This captures information about the settings that were specified for the system. 
cxf: SmartDesign core configuration file. This and the matching .sdb allow SmartDesign to recreate the DirectCore components via its "Generate Design" command.  
dat:
def: Discontinued Programming file. Output file from flashpoint.
edn: is the Output file.
gen: Output netlist file from the generated cores
ipd: Programming file
loc:
log: log file from configured generated cores
precision.log: Precision logfile
map: lets you know the location of the Logic inside the FPGA
_syn.prj: Synplify log file
pro: FlashPro settings. Generated by FlashPro.  
psp: Precision project file
rpt: Report. Optionally generated from a menu item in Designer.  
sdb: Source file - keep under version control. Archive to permit recreation of DirectCore components.
srr: Synplify logfile
tcl: Used to run synthesis
xml: XML files. Some are part of the auto-generated SmartDesign, passing info to the embedded software tools. There may be others.


Additional:  


prj: Source file - keep under version control. Project file; stores Libero settings for a project  
adb: Actel Designer database, stores the compiled design for P&amp;R. Output  
pdb: Actel Designer physical database; essentially the finished bitfile 
readable by FlashPro  
vec: Compiled from .bfm  
pdc: Source file - keep under version control. Constraints such as pinout, I/O standards.  
sdc: Constraints generated by the tools (e.g. Synplicity). If I modify this I treat it as as source file.


The ones I have listed as Source Files are the ones I keep under version control. I tend to keep all my actual sources OUTSIDE the Libero project structure and "link" them into Libero to minimize interactions between Libero and versioning.