points=RandomReal[1,{1000,2}];
resOutWrong = Outer[EuclideanDistance,points,points];//AbsoluteTiming//First
resOut1=Outer[EuclideanDistance,points,points,1];//AbsoluteTiming//First
resTable=Table[EuclideanDistance[p1,p2],{p1,points}, {p2,points}];//AbsoluteTiming//First
(*1.347639`*)
(*0.628976`*)
(*0.970818`*)
resOut1 == resTable
resOutWrong == resTable
(*True*)
(*False*)