There are any number of reasons that your connection does not work - chat has failed to complete correctly, you have a dirty line, etc. So check your syslog for indications.
A VERY common mistake is that you have mistyped something in your scripts. You need to check these through very carefully - and bear in mind that we humans have a tendency to read what we THINK we have typed - not what is actually there!
Another is to try to use PPP-2.2 with kernel 1.2.X or PPP-2.1.2 with kernel 1.3.X/2.0.X - use the right version of pppd for your kernel!
Now look in the PPP FAQ (which is really a series of questions and answers). This is a very comprehensive document and the answers ARE there! From my own (sad) experience, if the answer to your problems is not there, the problem is NOT ppp's fault! In my case I was using an ELF kernel that I had not upgraded to the appropriate kernel modules. I only wasted about 2 days (and most of one night) cursing what had been a perfect PPP server before the light dawned!
You are using kernel 1.3.X/2.0.X and have compiled in module support and then compiled PPP support as a module (and installed the modules) - haven't you?
If you are NOT using kerneld to autoload the required modules, then you must explicitly load the ppp module (and possibly the serial support module too) before you can run PPP!
You can do this by hand - as root, type
insmod ppp
You may also need to load the serial support module first...
insmod slhc
However, you should sort out the auto-loading of kernel modules - so go check out the kerneld mini-howto!
Another possibility is that you are trying to use ppp-2.1.2 with Linux kernel 2.0.x (or alternatively that you are using ppp-2.2 with Linux kernel 1.2.x and haven't made the patches necessary to the kernel).
Check your versions of kernel and ppp! To re-iterate:-
Linux kernel version 2.0.x REQUIRES ppp-2.2.
bf/Linux kernel version 1.2.x works with ppp-2.1.2 but can be made to work with ppp-2.2./
You have a local Ethernet (or another network connection of some kind) with an existing default route already set up.
The section on routing in 'Linking two networks using PPP' covers correctly setting this up (briefly).
Your problem is that you cannot have more than a single default route. A default route is the destination to which all packets are sent that are not covered by a specific route. Generally, the default route will point at the route from your computer to the Internet.
Unfortunately, some Linux distributions set up a default route to the local Ethernet interface. You will need to change the system initialisation that handles configuring your Ethernet interface and establishes the routing across that interface so that it sets up a specific route to your local Ethernet(s).
See the NET2-Howto and the Linux Network Administrator Guide for this information.