In general you add segments when
a) you can identify groups of users whose traffic is internal to the group, and which does not have a lot of traffic outside the group.
b) you have too many stations for your address range
c) you have too many stations for your segment
d) you have too much traffic on your network and are seeing slowdowns due to collisions, or are seeing very high network utilization
Things to ask yoruself, potential gotchas:
1) What is your traffic level? If you put a performance monitor on the server, for example, what does it see in terms of traffic, collisions, etc.?
2) You do not say if you are at 10 or 100mb. If 10, would switching to 100 solve your problem? If so, how long would the solution be good for?
3) Would using switching hubs solve your problems?
4) Are you using routable IP addresses internally? If so, consider that when you subnet a class C you lose a large number of addresses. You might want to think about using multiple 192.168.x.x nets internally with NAT, keeping one segment with real addresses for your servers.
5) Consider that depending on traffic patterns, sometimes a router between subnets actually BECOMES the bottleneck. If almost all of your traffic is to or from a single server this is likely to happen. (Consider dual-porting the server.)
Clearly you will eventually have to divide your network if it continues to grow. The more you know about your network the easier it will be to decide what to do.Once you know where the traffic on your net is really going, and how much there really is, the timing requirement of the split and the location of the split should become very clear.
Good luck.