Very generally, covalent organic compounds can be categorized on a volatility scale.
1) Very volatile----chloroform; nitrobenzene; naphthalene
2) Some volatility----dioxin; PFK
3) Non-volatile-----glucose
EI and CI require that the compound be introduced into the ion source in the vapor phase for ionization to occur (introduced via GC or solids probe).
If you want a MW determination, use CI.
If you want a "fingerprint" mass spectrum of fragments to compare to a (computerized) library of spectra for identification of an unknown, use EI.
ESI is used typically for samples that are water-soluble, such as biomolecules separated by HPLC.
A disadvantage of ESI is that the lower m/z region is usually dominated by very intense background cluster ions derived from constituents of the mobile phase; this can make detection of low-level analytes below about m/z 150 problematic.
Another, major disadvantage is that ESI usually provides very little structural information---just MW, and signals at m/z that correspond to losses of small neutrals (H2O, NH3 etc) from [M+H]+
You will generally need ESI-MS/MS to generate structurally significant signals.