Ваши векторы действительно разные.
for (int i = 0; i < 10; i++)
(*p1).push_back(i);
for (int i = 0; i < 9; i++)
(*p2).push_back(i);
(*p2).push_back(11);
p1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
p2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 11}
Case 1: false
(*p2).pop_back();
p1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
p2 = {0, 1, 2, 3, 4, 5, 6, 7, 8}
Case 2: false