As in most of these discussions, a lot of good points about what is/is not railroading, as well as points on valid use of DM guiding.
I use the following meta-game rules of thumb, which hopefully avoid true railroading, yet encourage players to work together towards having an adventure:
Never write an encounter where the NPCs will do something, write it so it says they will TRY to do something. The difference is the word 'try' means they might not succeed. The other version gets the DM into the mindset that he must cheat to make it happen, should the PCs come up with a viable solution
Always plan on several solutions to any encounter/problem. The following are common solutions that should be anticipated: PCs flee, PCs fight and win, PCs fight and lose, PCs surrender, PCs negotiate. There's more possibilities, but the DM should not expect only one possible outcome.
Always have a few random encounter/events for idle times. If the PC sits around in his house (or they argue about treasure in a dungeon corridor), have something prepared to instigate action. This is the trouble finds them, solution.
If you plan on the "adventure in the swamp" and the PCs decide to stay in town (and wonder why nothing extra interesting happens), tell the players that you don't have anything extra prepared for that area, and you'll have to stop the game to prepare. You should also mention that you do have material prepared for areas they have gotten several plothooks for. This is the "The DM is not a World Simulation Machine" solution.
Players should work to involve others in the storyline/scene (if appropriate). That means, when PC1 discovers a sinister plot surrounding his mentor, he should call up PC2 who is sitting at home watching TV and ask for his help. To do otherwise leaves a player out of the story.
Players should select a plothook and follow it. They should not expect the game to get interesting if they pass up every plothook. They may have to rationalize why their PC would get involved. To do otherwise will cause the game to get stuck, and not move.
Players should propose active goals their PC wants to pursue at the end of the game session, so the GM can incorporate it into future sessions. If they don't have any active goals, they should help out with someone else's, or be willing to pick up a plothook.
These rules of thumb are how my group plays. It means that generally, as players we bite the plothook, for the sake of making sure the game goes forward. Ideally, the GM will make adventures focussed on our characters. However, players have to reciprocate by actively engaging in the adventure the GM has prepared. If either side fails to work toward this, then the game group is going to be in trouble.