Sigh.. this crap is really complex, so here goes:
1. ZILs should be mirrored for reliability.
2. L2ARCs should be striped for performance. (although they don't have to be striped, especially if you are using a fast SSD)
3. You shouldn't be doing HW raids for anything with ZFS, so saying raid0 and raid1 is totally wrong because there is no raid0 or raid1 with ZFS. There is "striped" and "mirrored. Use the proper terminology or you'll be flogged to death here. ;)
L2ARCs do and don't reduce the need for more RAM at the same time.
An L2ARC allows you to use RAM as an index to the L2ARC drive. Each entry uses 380bytes of RAM and the L2ARC block size varies. So you will use RAM to make the l2arc. Now assuming that your l2arc is able to perform acceptably, the theory is that your l2arc can extend the usage of its RAM by up-to 5 fold. Keyword: up-to. It may only go to 2 fold, and it may go to 10 fold. That whole "varies in size" thing changes things based on your loading and how data is stored on the pool physically.
Since your L2ARC uses RAM, you have to have more RAM than you would otherwise need. The common ratio is about 5:1. So your L2ARC shouldn't exceed 5x your ARC. Typically, your ARC is about 50-80% of your RAM if you have 16GB+. But you still need RAM for ZFS to do its normal tasks. Because of this, generally if you want an L2ARC you're wanting it to be fairly big, which means you are buying lots of RAM to start(hence the comment in the manual and my noobie guide to max out your RAM before using an L2ARC. With all this knowledge, for almost 100% of users you are instantly saying if you don't have 64GB of RAM and plan to go with an L2ARC that is less than about 200GB you shouldn't use one. And obviously for most people going with a small L2ARC like 32GB or 64GB doesn't make sense. So obviously the morons people that buy 8GB of RAM and think that they can have more speed by going with a 128GB L2ARC are people that have no clue what they are doing. Some of them have lost their data because of them starving ZFS, and I don't feel bad for them at all. In short, unless you plan to go big, L2ARCs aren't a solution.
Hopefully now you see why L2ARCs aren't a solution for someone that doesn't want to buy enough RAM. You have to buy more than enough RAM so you can take advantage of L2ARCs.
So you have to buy more RAM than you might otherwise need to store the L2ARC index, and assuming your L2ARC is of acceptable performance it can result in a net gain. There is no guarantee depending on how your server is used.
ZILs are an "all-write" device. Unless your system crashes during a write your ZIL will never be read from. Reads from ZIL only occur on bootup and that is to commit any data in the ZIL to disk. Otherwise the ZIL is nothing more than a copy of the stuff that "needs to be written to the pool" but is already cached in RAM. So a ZIL does nothing to change how much RAM you need. Everything in your ZIL should always be in RAM also with the exception being booting up a system after an unplanned shutdown.
So, after all that stuff I've tried to simplify down, there's 2 things to take away from this:
1. A ZIL will not change your RAM requirements.
2. An L2ARC will increase your RAM requirements, but at the potential benefit of an explosion in random read performance.