Yeah, it seems pretty simple, draft the best player available, especially early. I don't care about needs or "blocks", the best available player is how to build a good team. Later on is the place to take risks. Like Cole, 4th round pick was a risk, but the talent/reward was worth the risk.
As for Marrero, it seems as though some around here just assume that because he'll be 23 next July, he's pretty well washed up, well don't forget, Ryan Howard didn't make his debut until he was 24 and didn't play his first full MLB season until age 26. Let's not throw Marrero on the scrap heap yet.