Most people would agree that Season 3 was the weakest season of Arrow yet, myself included. That's not to say that it was bad. It just lost its way, and in their defence, they set really high standards in Season 2. But there were a lot of missteps, such as making it too similar to Batman (Ra's al Ghul, come on), stretching the story out too much, and at times clunky writing. But looking at the changes that the Arrowverse (this includes the Flash) is going through, it makes Season 3 seem a little less sinful. While it could have been handled better, it established and set up some big changes that are necessary for the future of the show, and Oliver's progression.
It was inevitable that Laurel would eventually become the Black Canary. And Colton Haynes, as cool of a character Roy is, had a limited time due to the contract. Sara's death totally sucked, but there really wasn't another way for Laurel. The last episode was a let-down, but on the positive side, it gave Oliver a chance to finally escape all the gloom and doom, and worry a little less about the future. It gives Arrow the chance to be something different than a Batman story with different characters.
If you're going to have a fully expanded DC-ish universe, you need to bring out some characters that are less known and give them a chance to shine. They definitely do that with Ray Palmer, and to a certain extent, Ted Grant. It would have been nice to see more Deathstroke, but the way they set it up makes it feel like Slade is not as bloodthirsty as he was with the Mirakuru, and that we can run into him again without it being a whole season arc.
To conclude, Season 3 acted more as a way for the show to reinvent itself than anything. It does open up a lot of possibilities, and there is merit in that. It just could have been done differently.