Factor analysis is a statistical method for attempting to find what are known as latent variables when you have data on a great many questions. Latent variables are things that cannot be directly measured. For example, most aspects of personality are latent. Personality researchers often ask a sample of people a lot of questions that they think are related to personality, and then do factor analysis to determine what latent factors exist.
The Answer You Get Depends on the Questions You Ask
The factors that appear can only come from the answers to the questions you ask. If you do not ask about sleep habits, for example, then no factor related to sleep habits will appear. On the other hand, if you ask only about sleep habits, then nothing else can appear. Selecting a good set of questions is complicated, and different researchers will choose different sets of questions.
Random Data Gives Factors
If you generate a lot of random numbers, a factor analysis may still find apparent structure in the data. It is difficult to tell if the factors that emerge reflect the data or are simply part of the power of factor analysis to find patterns.
It Is Hard to Decide How Many Factors to Include
One task of the factor analyst is deciding how many factors to keep. There are a variety of methods for determining this, and there is little agreement as to which is best.
Interpretation of the Meaning of the Factors Is Subjective
Factor analysis can tell you which variables in your dataset "go together" in ways that aren't always obvious. But interpreting what those sets of variables actually represent is up to the analyst, and reasonable people can disagree.