Why do we have 3 types of X-selections in LINUX?

Historical, partly. I'm not sure "secondary" is used for anything at all anymore.

  • "clipboard" is what is used by most Ctrl+X/C/V; it is the clipboard you put things into on purpose.
  • "primary" is what holds whatever text is currently selected; it is how X keeps track of what is selected and conveniently may be pasted by middle clicking (or, if you're awesome, clicking right and left buttons at the same time) or by Shift+Insert in xterm.

Check here and here.

tl;dr: See Singpolyma's post.