What's really funky is that a DFA with a queue is a Turing machine. You can show this by putting a sentinel value in the queue that separates two stacks and having some crazy loop structures that allow you to push and pop from the two stacks it represents.
[1]http://en.wikipedia.org/wiki/Zipper_(data_structure)#Example...
Basically you can emulate the Turing machine's tape on the left side of the head with one stack and on the right side with the second stack.
An important question to now ask would be what happens if the tape in the machine has more than two directions; say for example it has a two-dimensional tape. The head may move left, right, but also up and down. It can be proven that such a machine would not be any more capable than the Turing machine with a 1D tape. Again see Ullman's book for details.
[1] http://www.amazon.com/Introduction-Automata-Theory-Languages...
Head moving long the tape is just popping from one stack and pushing onto the other. The head state (and other bookkeeping) can be encoded in the DFA.