Designers/developers often ask for a budget regardless of specs to know how much time they can invest, how much time can go into the various elements that need to be designed, from backend to frontend, whether time (and thus money) allows them to do lots of custom work or whether a budget forces them to use off-the-shelf products for some tasks to speed up the process.
If someone, for example asks for a design with illustrations and icons (just to illustrate my point), then the budget will determine whether or not these illustrations and icons are bought from stock sites or whether the company creates custom illustrations and icons for you specifically.
These and other factors might be the reason for them asking you for a budget. However, I don't know their motives, and I'd ask them flat out why it makes a difference to specify a budget on your part. If they're trustful and sincere, they'll tell you. If not, then perhaps it's better to move to a different company.
By the way, I always ask for a budget in interviews with the client because I need to know how much they're willing to invest and how much time I can spend on the project. Even if a client tells me their budget is 20k, that doesn't mean that I'll charge 20k, it simply means I know that I can do custom illustrations, icons, hire professional programmers, a copywriter, a marketing expert, and so on and so forth and still not get anywhere close to client's budget. If the budget were to be 2k, then I'd obviously would not be able to do those things.
As for wanting to do it yourself instead. Why not? If you have the time, the drive, and the energy, go for it. We don't know what it is you'd like to do, but whatever it is, be aware that creating a website is not about learning a language or two. The factors involved are manifold and it goes from usability to security, to marketing, to accessibility, and a few more topics in between. So, if you have no experience in web design, it'll be quite a task. If you are not pressed for time, however, then that shouldn't be an issue.