I played about nine months of the Drang Nach Osten scenario, using my modification of the costs of fort production (4 artillery and 8 supply elements). I built fortified lines in Rostov, Kiev, Baranowicze, and Minsk. They proved to be useful but not decisive.
The big German pushes came at Kiev and Baranowicze. In Kiev, seeing that he was hugely outnumbered by the onrushing feldgrau hordes, Frunze and Southwestern Front retreated into the fortified lines and were besieged. The Germans managed to sneak a couple of columns across the river and the Ukraine Front had a number of battles in the Kiev/Kursk axis, generally managing to keep the supply lines open. The supply stockpile in Kursk slowly decreased during this period but lasted through until winter. The Germans never assaulted the lines.
In Belarus, on the other hand, Tukachevsky saw that the first German army approaching was equivalent to his in size, so he remained outside the fortified lines. The first 15 days of battle saw heavy losses for both sides, with two battles judged Red victories and one German victory. At the beginning of the next turn, I saw another German army approaching (gotta love those recon planes) and so Tukachevsky chose a conservative defensive strategy. The first battle was still a Red victory, but in the next we retreated before combat. I had left a garrison inside the fortified lines, hoping that they would interfere with the German advance, but on the next turn the Germans assaulted and cleared the position without enormous losses. Their tanks appeared to make the job easier for them.
Falling back to Minsk, also the site of fortified lines, Tukachevsky drew in a reinforcing army from the Northern Front (the Balts still being neutral) and dug in. The Germans took a turn to reorganize after their capture of the Baranowicze lines, allowing Tukachevsky's engineers to get him to a level-3 fortification. Some wandering Poles attacked at this point and were slaughtered, knocking another 7 or 8 NM off of Germany's total.
Then, the big German offensive developed in early August, with over 100,000 Germans assaulting the Minsk front in three large battles. Tukachevsky's defenders numbered about 75000 at the beginning of the battle. All three were Red victories with Germany losing something like 20 NM in all and about 40,000 troops. Tukachevsky made up all his artillery losses from the earlier defeat and more so by capturing some fine Krupp pieces (including a siege gun).
The Germans again attempted to move around the Minsk position and interfere with supply, but Stalin and some newly-raised troops were able to come down from Moscow and contain them around Mogliev. At this point, German NM is down to about 45 and Red NM is 180. I think it would be rather difficult for the Germans to do more.
The lesson about the forts is that the AI can and will assault them successfully, if they have a large superiority in numbers. If not, they will settle for a long siege. As long as the defending forces can be supplied, the forts will stop the movement of attackers very effectively. Putting them at choke points like river crossings is a very effective strategy.
I generally concur with Clovis' compromise in the RC3 of making forts cost 8 supply elements and 6 artillery elements. Using the cheap Red 75mm pieces, that's something like 20 WSU for a fort.
Edit: if you use Tachankas as the artillery elements, then forts are almost WSU-free. Hmmm.
"There is no substitute for victory"
Depends on how you define victory.