Recs.
Updated
SpecsUpdate
Pros
Pro Easily readable plain-text configuration
i3 has plain-text configuration, meaning that no Lua or Haskell is needed. This makes it rather easy to recommend i3 to other people without worrying whether or not they have the knowledge to configure it as it can be read by anyone without prior knowledge.
Pro Tiling is a prefect fit for developers
No space is wasted. All the room which you can possible have on your monitor can be dedicated to programming.
You don't need to use your mouse anymore. Once you get all the shortcuts its amazing how fast one can get. It is worth to learn all of them and to configure your own.
Pro Can be configured without a client restart and reloaded quickly
Just two hot keys: Shift+Super+c to reload the config and Shift+Super+r to restart which take less than one second. Restarts pick up new versions of i3, so you can upgrade to a newer version without quitting your X session.
Pro RandR support
RandR provides more information about your outputs and connected screens than Xinerama does. To be specific, the code which handled on-the-fly screen reconfiguration (meaning without restarting the X server) was a very messy heuristic and most of the time did not work correctly — that is just not possible with the little information Xinerama offers (just a list of screen resolutions, no identifiers for the screens or any additional information). Xinerama simply was not designed for dynamic configuration.
Cons
Con No window gap option
You can do a lot with i3 but it misses the option to have gaps between windows (unless you use i3-gaps, a more updated fork of i3).
Con Manual tiling
The layout isn't automatic. You have to move panels manually and you may end up spending time on that when you should spend it on working with the application.
Con Not easy to switch among all window frames
When there are multi-columns, you can only switch up/down, OR left/right.
Lack of a normal Alt-Tab way, and this is not going to be fixed.
Con Missing "include" possibility in config
While pretty good and easy to use for common tasks, the configuration language is missing the include
directive common in other languages. You can use a workaround - a shell script to config parts on demand. It would be best if this were built-in however.
Recommendations
Comments
Flagged Pros + Cons
Pro No window gap
Space is not wasted by separators, therefore making the most of the confined space on smaller monitors.
Pro Fast, especially on weaker hardware
Tiling means there are no fancy compositing or window effects to take up system resources.
Pro Easily readable plain-text configuration
i3 has plain-text configuration, meaning that no lua or haskell is needed. This makes it rather easy to recommend i3 to other people without worrying whether or not they have the knowledge to configure it as it can be read by anyone without prior knowledge.