BlockMap[Flatten,Riffle[list, x[[;;Length@list]]],2] (* {{1,2,x1},{5,2,x2},{9,3,x3},{6,5,x4}} *) In addition, a variation on the neat answer given by xzczd
MapThread[Replace,{list,{a_, b_} :> {a, b, x[[#]]}&/@Range@Length@list}] (*{{1,2,x1},{5,2,x2},{9,3,x3},{6,5,x4}} *)