Can you give a simple example of the difference between software and code+design. I'm not getting the distinction.
In this situation, the code would be the body of work. You can make something similar, but you can't copy the code verbatim. You have to find another way to do it, because it's protected by copyright. It's much the same way how anyone can write a mystery novel. It can have a similar plot with similar characters, but it can't be exactly the same. Much like how you can't just go out and plagiarize Stephen King for your new book, you can't copy someone elses code line by line.
The design would be the UI, the icons, the look and feel everyone keeps talking about. That's protected by trademark. You can't go out and make a product that looks exactly like the original. You have to improve upon it, and use your own graphics and layouts.
That's more than enough to protect a piece of software. With just those in place, anyone can go out and make their own word processor. It can't look exactly like the competitions, nor can it use the same base code, but it can still perform the same functions.
But with the patent system in place, that means someone could potentially go out and obtain the exclusive rights to the concepts contained within a word processor. That curtails innovation, and doesn't allow anyone to improve upon the base concepts presented within that first word processor, because the ideas are owned by one company.
You can find 50,000 different, possibly better, ways to perform autocorrect function, but it ultimately doesn't matter
how you do it, or if it is improved upon, because that first company owns the rights to the concept of autocorrect. No one else is allowed to use it.
It's the very antithesis of why the patent system was set up in the first place.