You don't need to shock your pool every week, or even every month, as long as you take care of it for a few minutes each day. You should shock your pool if the free chlorine level falls to zero, or the combined chlorine level gets over 0.5, or there is something growing in your water, and once at the start of each season. Other than that there is no need to shock your pool. If you keep track of your pool daily the only one of those that will normally happen is the once at the start of the season.
It is generally better to use regular chlorine to shock the pool, instead of non-chlorine shock. There are a few special cases when non-chlorine shock is useful, but most people with outdoor pools will never run into them.
Pool stores tell people to shock weekly because they assume you are ignoring your water and letting things get out of hand and because they want to sell you more products.