Well, I mained both of them last season, and to a lesser extent this season. So.. Here's my Two cents.
Want someone useful in almost any match? Pick Ahri. She brings her charm to disable the enemy, A long distance AOE poke that can also heal with her passive, A "Targetted" Attack that you just need to be nearby to use, and her ultimate can be used to escape regardless of what is around you.
Want someone that can get in there on that squishy enemy and blow them up? Pick Akali. She has no CC(Other than her slow on her shroud, which is actually quite useful if thrown at a choke point sometimes.), but she makes up for it in raw burst. I feel that Akali is more mechanically difficult - In order to get a proper combo off you have to land your Q, wait the right amount of time, R in, land an AA, hit another Q, land another AA, then E>R As needed. Sometimes landing that first AA or second AA isn't possible due to CC, or a simple miscalculation on the click, or whatever - And if that happens, you're probably going to get blown up in return. BUT if you DO land it, you're most likely going to kill your opponent unless you're way behind.
Pros To Ahri
Escape can be used regardless of surroundings
Has her charm for CC(Albeit a low duration single target skillshot)
Has long range poke(A powerful one at that, including a speed boost on it)
Has built in sustain from her passive
Her W and R both deal their damage by simply being near the enemy - No aiming needed.
Pros to Akali
Can blow up pretty much any squishy enemy as long as you land your combo
Has her shroud for stealth - As long as the enemy doesn't have pinks/upgraded sweepers
Has her passive for some crazy sustain after rushing a gunblade
Can jump from enemy to enemy and clean up a teamfight very quickly as long as she gets a reset or two
My biggest advice would be to try both, as they both bring a lot to the table in their own way. Ahri is more useful in an everyday match, or a blind pick - Harder to counter. She's also much more reliable from behind, as she can poke from a distance and brings a little bit of CC to the table, as well as a more reliable escape. Akali requires slightly more mechanics. You NEED to land that AA after you jump on them to pop your first Q before you hit your second Q. If you don't, you're basically dead in the water. It's also nearly a necessity to carry wards with her to throw over a wall to be able to jump to monsters/targets on the other side. Without that, her escape isn't usable in many situations as it MUST have an enemy/neutral target to jump to.
I love playing them both. Ahri was my first main ever when I started playing, and Akali was my second. They both have distinct uses, and the best way to find which you like is to try them both. They're both definitely worth trying out. But if you only have to pick one, I'd recommend Ahri, as she's more useful all-around, and is easier mechanically(Less room for error, unless you can't land a skillshot) in my opinion. Her escape is also FAR more reliable. She's also not hard countered by a pink ward/upgraded sweeper, which ANY smart opponent is going to get if you pick Akali.
As a side note - Akali is also almost useless in a true teamfight comp. She brings very little AOE damage. If the enemy has a couple tanks, she's not going to be able to do much. Ahri brings a ton of AOE damage, and if built with a lot of magic pen can massively chunk an entire team(Including their tanks) with just one well aimed Q. So keep that in mind. Picking Akali against a team like Maokai/Naut/Volibear/Graves/(Insert midlaner that you think you counter here) is a terrible idea, because even if you DO counter your mid laner and dump on them, you're still gonna be useless when you try to burst down the tank.
Ahri is the safe pick, but they're just both so fun to play sometimes.
Sorry if none of this is any real help, just what I could think of to say on the subject.