emtcee1973,
I started writing my program before I ever tried any commercial programs so it's really based on what I think I need. I thought commercial programs would do more so I downloaded a few for a trial period and I liked Lotto Pro the best so I bought it. Also Lotto Pro was the only one that had data files in an ASCII format which allowed my own program to read them with a slight modification. Because I could add and change routines in my own program, I was able to get it to do more of what I wanted when I analyzed past drawings so I decided to use it exclusively.
I did add Lotto Pro wheels to my program, but I eliminated them later when I decided wheels didn't work for me. I instead wrote a RNG(random number generator) to pick combinations within parameters I set. The parameters act like filters because I can set even/odd ratio, min-max sums, min-max gaps, primary group of numbers within the main pool of numbers, key numbers, min-max ranges, number of matches(1-4) in past drawings and etc. I downloaded a copy of CoverMaster which creates custom wheels in case I ever decide a wheel is what I need.
Writing my own program, I know how it works and can add or change features as I get or see ideas that I like, for example last week I noticed that a program had the day of the week with the drawing dates so if you were looking through past drawings and noticed there wasn't a drawing for a particular day then you would know something was wrong and you could correct it. I went on the Internet and found a formula for doing that and added a couple of lines to my programs to do that. While working on that project I also learned a lot about different types of calendars. Since I use GWBasic, which doesn't have the function MOD, I had to add an extra line.
My lottery program/system is a work/hobby in progress, almost every month I have or see an idea that would make it better.