Word ladder implemented using stack and queue
Some small improvements:


Do not use std::endl because it always forces a flush in addition to a new line, which can degrade output performance.
Prefer operator[] over at[] wherever possible. For example, in oneDiff you use dictWord.at(i) instead of dictWord[i]. The reason this is detrimental is that at() performs a bounds check (and possibly throws an exception if the bounds are violated) while operator[] does not. Since i only ever takes values smaller than stackWord.size(), you do not need at().
Prefer std::size_t for iteration variables. int may be to small to hold all indices for very large strings.
Don't use ... &lt; something.somemethod() in a loop head, because something.somemethod() may be executed every iteration. If you know that it value does not change throughout, store its value before the loop into a variable.
oneDiff can be optimized. Since you only return whether or not the difference between characters is one or less, you can return false as soon as you have found more than one mismatch.
Although you do not give the definition of dictionary, it can be assumed that it is of type std::list&lt;std::string&gt; because of the iterator you are using. I would recommend replacing it with a std::vector if you are not doing a lot of insertion and deletion at random positions, because std::vector profits from cache coherency.