From the casual research I've done, it's assumed to be offensive (like "gyp" for Gypsies), but I've not found anything definitive. I'm also curious when it first entered the language with this meaning and why.
It is thought to have derived from Welsh and is often considered derogatory. Use renege or other wording instead.
Online Etymology Dictionary
Etymonline.com says of welch:
And of Welsh:
Oxford English Dictionary
The OED says of the verb welsh or welch:
Their first quotation meaning to renege on a betting debt is from an 1860 Racing Times:
Their first quotation of noun welsher, a bookmaker who refuses to pay, is from an 1852 Racing Times:
Their first for noun welshing is from an 1854 Era:
But it is still used, often by politicians, including the BBC itself. Occasionally they apologise. The BBC reported in February 2012 that Education secretary Michael Gove apologised for saying he'd "welshed on the deal" in the House of Commons, and 'Bill Clinton apologised to Republicans in 1995 for calling them "Welshers"'.
It was intended as derogatory, you couldn't trust a medieval Welshman.
The medieval clergyman Gerald of Wales (c. 1146 – c. 1223, of mixed Norman and Welsh descent) didn't like them very much:
This is in AJP Taylor's excellent school history books. He notes that the very first man to "Plead the Gaming Act" and refuse to pay a bet because betting had been made illegal, was Mr Welch, hence refusing to pay became known as Welching on a bet.
Nothing whatsoever to do with the differently spelt Welsh.