Это не строгая классификация, нужная для расстановки приоритетов в задаче. Т. е. нужно просто для организации.
Джуны берут простую работу и часто бегают к программистам "постарше" за помощью, т. к. без опыта.
Мидлы делают более доверенную работу, имеют опыт и тоже иногда советуются у тех, кто "старше" или просят помощи.
Сеньорами же являются опытные программисты с большим стажем, что, в какой-то степени, имеют у себя в подчинении джунов и мидлов. Умеют гуглить (находить информацию самостоятельно без чьей либо помощи), решают серьёзные задачи. Имеют большую силу над проектом.
Ещё раз, это не строгая классификация. В одной компании может считаться сеньором программист с 2-я годами опыта работы, а в другой с 10-ю годами опыта работы. Так что не нужно этим забивать голову. Да, в вакансиях так и пишут, что вот "требуется сеньор разработчик/программист на каком-то там языке", да зарплата подстать мидлу и того хуже... Просто нужно здраво оценивать свои навыки и брать нужную, подстать вам и вашему опыту, зарплату.