Очень интересный вопрос.
На первый взгляд кажется, что это одно и то же. Но нет.
1) Спереди - в нормативном русском языке такого слова нет. Да, так говорят, но это говорят не очень образованные люди. Нужно понимать, что это значит, но в свой вокабуляр лучше не брать, не советую.
2) Перед - это предлог. Передо мной, перед ним, перед стеной, перед домом - надеюсь, это всё понятно, и вопросов нет. Оно относится к месту размещения.
3) Впереди - это наречие. Оно не предполагает, что называется то, перед чем впереди.... Немного неясно, пример: Я стою. Впереди сидит собака.
Нельзя сказать: впереди меня сидит собака, это неправильно. Впереди сидит собака, а то, что именно впереди меня, а не кого-то другого - это подразумевается из контекста.
3 а) Как наречие, "впереди" может относиться не только к месту, но и ко времени. Например: "Впереди - лето". Нельзя сказать "перед нами лето". И здесь тоже, впереди может подразумевать, у кого именно оно впереди (у нас впереди - лето), но это наречие, т.е. самостоятельная часть речи. В отличие от предлога, который всегда идет перед существительным или местоимением.