The mechanical and electronic parts of a 3D printer are critical for success, but so is the slicing software. Slic3r and Cura are arguably the most popular, and how they command your printer has a lot to do with the results you can get. There are lots of other slicers out there both free and paid, but it is hard to really dig into each one of them to see if they are really better than whatever you are using today. If you are interested in the performance of IceSL — a free slicer for Windows and Linux — [DIY3DTECH] has a video review that can help you decide if you want to try it. You can see the video below.
IceSL has several modules and can actually do OpenSCAD-like modeling in Lua so you could — in theory — do everything in this one tool. The review, though, focuses only on the slicing aspect. In addition to the desktop client versions, you can use some features online (although on our Linux machine it didn’t work with the latest Chrome beta even with no add ons; Firefox worked great, though).
One of the things the review was excited about was that the slicer allows you to change settings per layer and it can do adaptive slicing in which it picks layer settings based on the object you are printing. Of course, other slicers can do similar tricks, but — for example — Slic3r requires you to create cubes in a CAD program to define where you want the additional settings to apply (a modifier mesh).
The per-layer settings can be handy. For example, you might want to infill the base of an object but not the top. Higher temperatures on the bed are easy to do like this, too. There is a separate tool to do this in a slicer-agnostics way, but having it built-in is certainly much nicer. If you are too hardcore to use a tool you didn’t create yourself, perhaps you’d like to write your own slicer.