I try to mix the two, though my current game obsession is Ars Magica which doesn't lend itself to truly railroady play.
I generally run games like this. Adventure 1, I hit them with something strait out of the box. After they deal with it, things get a little more relaxed. After adventure 1, I ask my players if they want to do something in particular, either for the group, the story, or their characters. If I get no answer, I hit them with another story. By adventure 3 I generally get players interested enough in their PC's that they want to pursue at least some personal goals. By the point when personal goals become available, I run a story and a single personal goal every session, with different PC's each time.
Eventually, the PC's dictate the action and I should have enough personal information on enemies, friends, and plot arcs that the next step is logical.
As a small example;
A player in my game is playing a mage (Maga in parlance) named Parvula or Mercere. This character played a few sessions of the story, but found that she desired a familiar. So, created and ran a small story about her finding the familiar, but a small dragon is in control of the forest and the magical talking owl she desires is in fact sworn to its service for protection. The events of finding the owl I had planned and prepared before the previous game, and the things I wanted to happen happened. When the players got horribly lost, I gave them large, obvious clues to get back to the plot.
This is somewhat railroady, but comes from the players initiatives; I find its the best of both worlds.
As well as this, the dragon is squatting in a cave in a forest nearby, and often raids the farmers that supply the characters. This creates a plot that the PC's can achieve on their time; I simply hit them with the dragon when I want them to follow that plot.
As opposed to making a world and saying "What do you do?" I put them in a story, and try to make the story theirs as much as mine over time.