Что такое олимпиадное программирование?
Олимпиадное и спортивное программирование действительно два имени одной сущности.
Обычное (промышленное) программирование нацелено на решение бизнес задач с использованием компьютеров. Такие задачи, как правило, характеризуются следующим:большой фронт работ (т.е. разрабатывается не в одиночку, а большой командой)имеют большой цикл поддержки (т.е. программа, написанная Вами сегодня наверняка пригодится через полгода-год),должны быть эффективны с точки зрения бизнеса (иногда алгоритмическая эффективность влечёт усложнение решения, что приводит к увеличению издержек. Далеко не всегда повышение алгоритмической эффективности приводит к ощутимому бизнес профиту)
Даже если вы не продаёте программный продукт, а, например, пишете opensource программу или библиотеку, Вас всё равно интересует бизнес-эффективность: хотелось бы иметь простой и надёжный код (чем алгоритм сложнее — тем проще допустить ошибку), возможность расширения и изменения программы спустя некоторое время (т.е. думать об архитектуре).
Спортивное программирование, в свою очередь, сосредоточено лишь на решении формальных задач с максимальной эффективностью в плане времени исполнения и объёма затрачиваемой памяти. Самым эффективным способом практики этого вида программирования являются соревнования, проводимые, например на codeforces или topcoder. Такие соревнования длятся несколько часов и предлагают несколько задач различной сложности. Чем быстрее и больше участник решил — тем больше он молодец.
Таким образомпрограммы оказываются очень небольшие по размеру — не более пары сотен строчексрок жизни такой программы составляет, как максимум, несколько часов, поэтому написать её можно как угодно, лишь бы работала.
Например, однобуквенные переменные пишутся гораздо быстрее длинных и осмысленных, однако их предназначение понятно лишь самому автору и лишь в течение крайне небольшого срока после написания программы.поскольку программа невелика, нет необходимости в разбиении её между несколькими программистами
Это программирование на олимпиадах по информатике в школе и олимпиадах по программированию в универах.
Отличается тем что результат по сути никому не нужен, а на работе результат кому то нужен. 
Ну ещё упор там сделан на алгоритмы, и зачастую даже нет интерфейса графического у решения и все данные поступают из файлов, так как проще реализовать тестирование.