Software patents may be "strange", but patents are very useful in the rest of the engineering world.
"years of research and brilliant ideas should be protected"
can never adequately define what must be patented and what must not be. An brilliant idea need not take years of research. Even the interpretation of the word brilliant is debatable.
PS: I'm not taking any stance with respect to patents. Just saying that it's not black and white.