It's not uncommon for a developer to question about his/her skills. And compare to other. Specially against those great developer that do products used by millions of people. Well the ego is common among not so good developers however good developers always think there is other that knows more. You can check yourself in the category that may better suits you.
It is true, there is always someone that knows more than you. Other that can code faster and cleaner. Other that can design software like da Vinci did those amazing inventions. All might be true.
However nobody is perfect and that is nobody.
That said we do always need to work on our skills as there is always room to improve. Unicorns do not exist and neither perfect developers. Success is not synonym of perfection.
In conclusion, keep working on your skills and do not underestimate your abilities. Nor the capacity to learn new things. But remember to keep the ego under control.