The tough truth is that you need to be able to do both, or your skillset will never be complete. If you specialise in algorithms, you might never be able to put a bunch of them together to build a system that works and does something interesting. If you focus on architecture but never understand how to read and implement algorithms and how to evaluate them, you will always be limited in what your systems can achieve and how well they work.
Additionally, most of us are limited in what we can learn in a lifetime. Talent is far from the primary limitation (most people will be average in terms of innate ability; my guess). Far more important is the time available to study and learn new skills and the motivation to do it. Then there are issues of personal preference: if you just love algorithms, you will tend to focus on them, if you love building systems, etc.
Additionally, most of us are limited in what we can learn in a lifetime. Talent is far from the primary limitation (most people will be average in terms of innate ability; my guess). Far more important is the time available to study and learn new skills and the motivation to do it. Then there are issues of personal preference: if you just love algorithms, you will tend to focus on them, if you love building systems, etc.