There are two ways of looking at a DFA.
Some folks insist that every state must have a transition for every symbol in the alphabet (the transition function is a total function). If you look at a DFA this way, then, yes, as according to the accepted answer there will always be a cycle. But this cycle might be self-loop to some "dead" or "error" state.
On the other hand, some say that if there is no transition for a given symbol from a given state, then if the machine is in that state and that symbol is encountered, then the string is rejected.
Alas, many books on the subject define the transition function as per first example, but then draw state diagrams as per the second example.
But when it comes to a sequence of states that could potentially lead to the acceptance of a string, some have cycles, some do not. If a DFA recognizes an infinite language, its graph must contain at least one cycle that is not a self-loop to a dead state (this is a corollary of the Pumping Lemma for Regular Languages). If the graph of a DFA does not contain such a cycle, then it cannot recognize an infinite language.