Many people are very misguided in the area.
Here is the plain and simple answer. 99% of the time you SHOULD NOT BUILD A ENGINE period.
Even if it is for a learning experience you shouldn't build one because you can learn a lot more just by building your own game and you will actually have something to be proud of where as with a engine you will most likely have something that doesn't work or is very very sub par.
For some reason there is the idea that people have that you need a game engine in order to make a game. Well that is false. The simple truth of it is that you will just be wasting your time by building a game engine for almost every single game you make (Unless you are making the next AAA game hit). You don't need one to make a good game, and you will get done a lot quicker if you don't build one.
Another reason is that most of the time you don't have the experience needed to build a game engine. I know many people think they do but I'll tell you if you haven't built at least 10 full games you don't have a clue what should go into one and what shouldn't most likely.
I would recommend reading http://scientificninja.com/blog/write-games-not-engines
Which basically says the same thing I am saying but in more depth.
Here is your answer to "why build a game engine". Don't build one.
There is absolutely no use in you building your own game engine because 1) you don't need a engine to build a good game, 2) if you really do want to use a engine, use one that is built by professionals teams that will be 100 times better 3) Without building a engine you will be able to complete the project in half the time at least since you won't be concentrating on the engine and the game at the same time.
|Or do you need to build your own engien to make a unique and original game, with your own custom physics etc?|
This is what I am talking about, Game Engines are not suppose to be unique and original. They are suppose to be generic so they can be reusable. If you are setting out to build a game engine so that your game can be unique you are going about it all wrong. Instead of building the engine so your game can be unique why not just skip the engine part and just build a unique game? You don't need a engine to make a game.