I have a little background in English history, but this is a question I have always wondered about. Other colonial holdings were 'given up' with much less of a fight, why was Northern Ireland the exception?
A large proportion of Northern Irish people can trace their roots to the plantation of Ireland by British settlers. This population (Unionists) were very active in opposing home rule in Ireland and were effective at keeping the 6 counties of Northern Ireland part of the United Kingdom. These 6 counties were strategically selected as it was thought that the 'native' Irish population (Nationalists) would never be a large enough percentage to vote for a United Ireland. Interestingly, many Unionists speak about Ulster instead of Northern Ireland, which actually consists of 9 counties and Nationalists are the majority overall.
Firstly it was to do with geographical reasons as the Irish coast is within sight of mainland Britain and therefore the people in Britain and Ireland had closer links to each other than the majority of the population might have had with British India for example. These cultural and economic links had been established over seven hundred years prior to the beginning of the 'Troubles' in Ireland with the Landing of Strongbow (http://en.wikipedia.org/wiki/Richard_de_Clare,_2nd_Earl_of_Pembroke) and notably the Ulster plantation. It also was (at the beginning of the 20th century) an extremely valuable colony particularly towards the North and the Famous Belfast shipyards. However this traditional industries had declined by the start of the troubles and most depended on government subsidies. It also had become a very prominent political issue and UK political parties had made promises to sort out the issue (notably the conservative party under Margaret Thatcher)(This was featured in her Conservative General Election Manifesto 1979) and it was seen as weak to give way to the republican side on the issue to so called abandon 'Loyal Ulster'.