Um, the 169.254.0.0 route come from what I thought was a peice of Windows proprietary behaviour whereby if an interface is configured for DHCP and it fails to get an address it will default to an address in the 169.254.0.0 range.
The range is a reserved address range call Link-Local. These routes are never supposed to be advertised by a router. The remaining digits of these addresses are normally derived from the mac address making it as unique as is possible within the 65,535 range possilble.
I would guess that the route to 169.254.0.0 pointing to an interface means that you are configured for DHCP but have not picked up an address, I must admit I didn't realise that Linux has started doing this, maybe its a part of the DHCP standard, I haven't read it for years!!
A zero route, or all-zero's route or default route is a route that looks like this -
0.0.0.0 0.0.0.0 <gateway IP>
default 0.0.0.0 <gateway IP>
It is a catch all route that allows packets to be forwarded by a router if it has no specific route for a destination. It is a routers equivalent of a hosts default gateway.
The confusing thing about Linux, and windows come to that, is that while most things it does and the basic configuration looks like an IP host, in actual fact the OS's carry a route table like a router. So when you define a default gateway the info actually is recorded as a default route.
You only need one if you have a router on your network. Otherwise don't worry. If yo are using dial-up, a default-gateway (default route) will be dynamically configured for you by your ISP.
Hope this helps