1) Dequeue can quickly insert or delete both at the front or the end. However, vector can only quickly insert or delete at the end.
2) Memory allocation is different. A vector always occupies a contigious region of memory. If a vector goes too large, it need to be moved to a new location where it can fit. A deque,on the other hand, can be stored in several non-contigious areas; it's segmented. So a deque doesn't need to be moved if it goes too large.