Know Your Audience
I would say that it depends on your client. If your client is a consumer/business using your software as a service, bear in mind that they care little about the technical aspects. If you were selling a POS ("Point of Sale" - something like a grocery checkout program) program, you might list features like so:
- Can process credit cards at lightspeed.
- Can scan users faces and bill them using the unique creases on their foreheads.
- Can convince customers to buy the candy at the counter on impulse
If you were selling this to a technical client, for say, integration with another product, you might consider discussing the technical aspects. For example (I'm not a Java programmer, so excuse any mistaken false promises, I'm being facetious):
- Can process a hundred threads in under thirty nanoseconds
- Can process credit cards across securely using the algorithm.
Know Your Subject
Since you seem to be leaning towards the technical side, you might want to list the programming paradigms that you use and some of the highlights of the architecture of your program. If I were presenting one of my iPhone apps, for example, I'd almost surely mention the Model-View-Controller paradigm.
I may also mention the delegation patterns used. You may want to discuss particular modularization or inheritance patterns as well as frameworks that you use.
Remember, regardless of what goes in to the presentation: if you don't know how your program works, you can't share that information with others.
Structure Your Presentation
I'd start with a bulleted list and go through the bullets one by one. If you're having trouble with layout and such, use a template that comes with Powerpoint. If you're looking for inspiration for structuring your presentation, take a look at any one of Apple's presentations. You can watch a keynote, or a technology demo. Those are done really well.