Riffle but not quite
Example
Code
list = {{1, 2}, {5, 2}, {9, 3}, {6, 5}};
x = {x1, x2, x3, x4, x5, x6, x7};
MapThread[Append, {list, x[[;; Length @ list]]}]
Output
{{1, 2, x1}, {5, 2, x2}, {9, 3, x3}, {6, 5, x4}}
Reference
Append
MapThread
There are so many ways to handle a problem like this and which one is preferred with depend on style, performance, the type and shape of your data, ease of recollection, etc., but here are several more:
Join[list, x ~Take~ Length[list] ~Partition~ 1, 2]
Riffle[Flatten @ list, x, {3, -1, 3}] ~Partition~ 3
PadRight[list, {Automatic, 3}, List /@ x]
And one inspired by J.M.'s use of Flatten
{list, x} ~Flatten~ {2} // Cases[{{x__}, y_} :> {x, y}]
Shortest so far:
i = 1; list /. {a_, b_} :> {a, b, x[[i++]]}