I tried to learn shell(bash) scripting few times but was driven away by the syntax. Then I found Python and was able to do most of the things a shell script can do in Python. I am now not sure whether I should invest my time in learning shell scripting anymore. So I want to ask:
What are strengths of shell scripting that make it an indispensable tool as compared to Python?
I am not a system administration by profession, but I am interested in setting up Linux systems for home users, hence I think learning shell scripting can become necessary.
There's nothing you can do with shell scripts that you can't do with python. 
The big advantage of shell scripts is that you use the same commands as you do when you use the shell, so if you're a heavy shell user, shell scripting will at some point become a very quick and easy way to automate your shell work.
I also find it easier to deal with pipes of data in shell scripts than in python, though it's absolutely doable from python.
And, finally, you don't have to fire up an additional interpeter to run the shell scripts,  giving you a very small, but sometimes maybe noticeable speed and memory usage advantage.
But then again, Python scripts are a lot more maintainable, I'm trying to migrate from big ugly shell scripts to Python scripts for that very reason. It's also easier to do exception handling and QA with Python.
Strengths of Shell Scripting compared to Python