There is an oft-stated misconception that if a user never clicks on ads, then blocking them won't hurt a site or application financially. This is wrong, developers also earn money by just displaying ads. It is up to you whether you block ads or not. Personally I would not use applications that display ads because I find them very annoying, so without an ad blocker I would not install these applications.
AdAway uses the hosts file to block hostnames, that serve advertisements. The hosts file is a file found in /system/etc/hosts that maps hostnames to IP addresses. It is a traditional way to define hostname to IP address pairs without relying on the Domain Name System (DNS). All unwanted hostnames are redirected to 127.0.0.1 which means they will point to your own device.
Java on Android maintains its own internal DNS cache. The operating system will reflect the new hosts file immediately (verify that with ping on the command line) but you'll need to restart Android to rebuild the DNS cache of Java.
AdAway will also work without using the webserver!
You can enable a local webserver in preferences of AdAway to answer requests to the local IP address 127.0.0.1. This means requests from applications to ad servers which are redirected to 127.0.0.1 are answered by AdAway's webserver.
Some applications refuse to work, when ad servers are not reachable. With this method they will be reachable again, replying with a blank page and no ad images.
Some hostnames may be missing in the provided hosts files from the Hosts Sources or the application has bundled the images to provide ads without accessing the internet.
You can log DNS requests (Menu->Log DNS Requests) from AdAway to find out which additional hostnames have to be blocked.
Add the suspicious hostnames to your own Blacklist by long pressing the entries in the Log and report these hostnames when you have verified them in the Forum Hosts Inbox of hosts-file.net.
Some applications need to communicate with a hostname that is blocked by AdAway or refuses to work when the hostnames which should serve ads are not reachable. See http://code.google.com/p/ad-away/wiki/ProblemApps to get a list of known applications that have problems. Otherwise do as described before to find out which hostnames are needed and add them to your Whitelist under Your Lists and report them to the bug tracker of AdAway.
You can set up your own server providing a hosts file with hostnames that you want to block and add it to the Hosts Sources or add the hostnames you want to block to the Blacklist (=Black) under Your Lists. Additionally, hostnames you want to exclude from blocking can be added to the Whitelist (=White) and hostnames you want to redirect to a specific IP address belong to the Redirection List (=Redirection).
See List of additional hosts sources for AdAway.
Please report it in the bug tracker of AdAway.