IP-phone technology is very hot today, there are lots of companies wanting to sell you complete solutions with phones and a PBX for your company. There are hardware solutions and remote web based solutions. Why would you bother to do it yourself? The answer is simple - it is much cheaper, you get lots of flexibility and you can do very advanced things that wouldn't come as standard anywhere.
Firstly, it is usually CHEAPER than normal phone lines. This is especially true for small companies where you would have to pay for 2-3 analog phone lines, monthly charges, installation etc.
With IP phones, you don't need several lines. There is NO LIMIT to the amount of simultaneous phone calls you can have (incoming and/or outgoing), except for the capacity of your broadband connection. Realistically, you can have 2-3 simultaneous calls going on a cheap broadband line (500k down, 250 up) + using it for surfing and other things. This is normally fine for a small company. It is possible to get more in, but at the expense of sound quality.
With IP, it becomes easy to place an IP-phone at your home, or at any distant office (anywhere in the world) and connect to the PBX as a local extension. You can even connect from a hotel when travelling, or an Internet cafe. There is no extra cost for connecting remote offices (other than that they need a broadband line and an IP phone).
If you have remote offices with several employees, you can put a PBX in each and connect them over the Internet to your main PBX. All phones everywhere in your empire will then be local extensions in your "distributed PBX".
You can keep your old favorite analog phones, just buy an adapter (Handytone 286 etc) for around $40 and connect them to your IP PBX.
Not only can you park a call, transfer it to any other extension etc but you can also program say your mobile phone no as an extension in the PBX so you can transfer any call to your mobile. It is still a mobile phone call, can't get around that, but it is very neat and convenient. Or at the end of the day, tell the PBX that you now want all incoming phone calls to your mobile please.
You can park a call and give them some music while waiting, you can use queues so incoming calls are parked with music until you pick them up. You can choose what phones to ring when there is a call queued.
Many countries have cheap providers, some even totally free (UK is good here) for receiving incoming calls on a phone no you get for free. In other countries there is a cost but not too heavy. In others again it is difficult, such as in Germany where they require an IP-phone no to go to a server located inside the country.
Since Asterisk comes with an SQL connection for call logs, there are now several good (free) utilities for viewing the log database. FreePBX that comes with Trixbox is one, works very well.